{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Solving Max-Cut problem using Dwave Quantum Annealing\n",
    "This notebook presents how to solve the NP-hard problem Max-Cut using Quantum Annealing.\n",
    "In Quantum Annealing, we specify a Quadratic Uncontrained Binary Optimization (QUBO) model that is implemented as the final Hamiltonian in an plausible adiabatic evolution.\n",
    "A QUBO can be expressed as\n",
    "$$ \\min_x \\sum_{i,j}^n Q_{ij}x_i x_j + \\sum_{i}^n Q_{ii} x_i, x \\in \\{0,1\\}^n\n",
    "$$\n",
    "\n",
    "where we minimize an quadratic expression with respect to an $n$-dimensional vector of binary variables $\\bf{x}$, the matrix $Q$ determines the quadratic and linear part of the QUBO. Notice that in this case we separate the elements of the diagonal of $Q$ given the fact that $x_i^2 = x_i, x_i \\in \\{0,1\\}$. We can define a graph $G = (V,E)$ such that we have a vertex for every binary variable and include an edge for each non-zero term in $Q$ (technically speaking the boolean matrix of $Q$ is the adjacency matrix of $G$).\n",
    "Besides the many applications of this formalism, solving a general QUBO is NP-hard.\n",
    "\n",
    "\n",
    "This QUBO can be easily transformed to a well-studies problem in Physics, the Ising model. In the Ising model, we represent the energy of paramagnetic materials by assuming that each particle of the system $i$ has a corresponding spin (measured along the $Z$ axis) $\\sigma_i^Z \\in \\{+1,-1\\}$. These particles interact with their immediate neighbors in a graph $G = (V,E)$ and are subject to an external magnetic field that interacts with each particle by accounting for an energy $\\pm h_i$. The interaction with other particles can lead to an increase of the total energy if their spins are oriented in the same direction ($J_{ij} > 0$, ferromagnetic), or in the opposite direction ($J_{ij} < 0$, antiferromagnetic). The function that accounts for the total energy of the system is known as the Hamiltonian $H_f$.\n",
    "$$  H_f = \\sum_{(ij) \\in E}J_{ij}\\sigma_i^Z \\sigma_j^Z + \\sum_{i \\in V} h_i \\sigma_i^Z\n",
    "$$\n",
    "\n",
    "Using the transformation $\\sigma_i^Z = 1 - 2x_i$ and the corresponding tranformations for the matrices $Q$ and $J$ and vector $h$ we obtain the Hamiltonian from the original QUBO ."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Dwave devices start from an initial Hamiltonian $H_i$ and drive a time evolution to the final Hamiltonian $H_f$ slowly enough such that at every time step, represented by the adimensional time $s=t/T$ where $T$ is the total time, the system remains at its ground state, minimizing its energy. The energy of the system is described then as \n",
    "$$ H(s) = A(s)H_i + B(s)H_f\n",
    "$$\n",
    "\n",
    "Where $A(s)$ and $B(s)$ are time functions such that $A(0)=B(1)=1$ and $A(1)=B(0)=0$ (in practice we just need $A(0)/B(0) >> 1$ and $B(1)/A(1) >> 1$).\n",
    "\n",
    "Usually the initial Hamiltonian is defined such that its ground state is a total superposition, and the usual choice is having\n",
    "$$ H_i = \\sum_{i=1}^n \\sigma_i^X\n",
    "$$\n",
    "\n",
    "This procedure allows that at the end of the annealing procedure $s=1$, the ground state of $H_f$ is obtained. If that is the case and $H_f$ represents our $(QUBO)$ we would solve the optimization problem. Quantum Annealing offers an analog implementation of this algorithm, and uses niobium superconducting quantum interference device (SQUID) to implement the spins as qubits. Practically speaking, the Quantum Annealing can be considered as a metaheuristic for solving combinatorial optimization problems by translating them into constrained Ising problems. Whether this method actually takes advantage of quantum mechanics is still debated."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Max-cut\n",
    "The Max-cut problem, which is a combinatorial optimization problem deals with finding the largest cut of a graph $G = (V,E)$, where each edge has a weight $w_{ij}, \\forall (ij) \\in E$. The cut of a graph is defined as a separation of the vertices of the graph, and its value is the sum of the edges weights that are crossed by the cut.\n",
    "\n",
    "A simple formulation of this problem can be proposed using binary variables $s_i \\in \\{+1,-1\\}, \\forall i \\in V$ that represent whether each vertex belong to one side ($V^+$) or the other ($V^-$) of the cut.\n",
    "In that case, to maximize the cut's value we maximize the number of edges that connect the two set of vertices $\\delta(V^+)$.\n",
    "$$ C = \\sum_{(i,j) \\in \\delta(V^+)} (-1)w_{ij}s_i s_j\n",
    "$$\n",
    "where we include the term $s_i s_j$ that is $-1$ if the cut crosses the edge between $V^+$ and $V^-$ times a sign correction.\n",
    "Since there is no way that we can know the set $\\delta(V^+)$ a priori, we add the weights times the spins for all edges in the graph.\n",
    "$$ \\sum_{(i,j) \\in E} w_{ij}s_i s_j = \\\\\n",
    "\\qquad \\sum_{(i,j) \\in E(V^+)}w_{ij} + \\sum_{(i,j) \\in E(V^+)}w_{ij} - \\sum_{(i,j) \\in \\delta(V^+)} w_{ij}s_i s_j = \\\\\n",
    "\\qquad \\qquad \\sum_{(i,j) \\in E}w_{ij} - 2\\sum_{(i,j) \\in \\delta(V^+)} w_{ij}s_i s_j\n",
    "$$\n",
    "There is and offset given by the weights of the edges belonging to the same set. Writing the full optimization problem we have:\n",
    "$$ C_{max} = \\max_{\\bf{s} \\in \\{+1,-1\\}^n} \\frac{1}{2} \\sum_{(i,j) \\in E} w_{ij}(1 - s_i s_j) = \\\\\n",
    "\\qquad \\frac{1}{2} \\left( \\sum_{(i,j) \\in E} w_{ij} + \\min_{\\bf{s} \\in \\{+1,-1\\}^n}  \\sum_{(i,j) \\in E} w_{ij}s_i s_j \\right)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "From the description above, we can observe that the Max-cut has a direct relationship with the Ising model. In this case, there is no external field $h$ and the coefficients of $J$ are the weights of the given graph.\n",
    "Now we can solve the Max-cut problem via the Ising model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import networkx as nx\n",
    "import dimod\n",
    "import neal\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from collections import Counter\n",
    "import timeit\n",
    "import dwave_networkx as dnx\n",
    "# import find_embedding\n",
    "import minorminer as mm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define exact solver for small cases\n",
    "exact_sampler = dimod.reference.samplers.ExactSolver()\n",
    "# Simmulated annealing code (this will be considered the \"simulator\")\n",
    "sim_ann = neal.SimulatedAnnealingSampler()\n",
    "# Dwave device\n",
    "from dwave.system.composites import EmbeddingComposite\n",
    "from dwave.system.samplers import DWaveSampler\n",
    "sampler = EmbeddingComposite(DWaveSampler())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### First example\n",
    "Degree 2 graph (famous because was first instance that Fhari worked with for QAOA)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "E1     =[(0,1,1.0),(1,2,1.0),(2,3,1.0),(3,0,1.0)] \n",
    "\n",
    "G1     = nx.Graph()\n",
    "G1.add_weighted_edges_from(E1)\n",
    "\n",
    "# Generate plot of the Graph\n",
    "default_axes = plt.axes(frameon=True)\n",
    "pos          = nx.spring_layout(G1)\n",
    "\n",
    "nx.draw_networkx(G1, node_size=600, alpha=1, ax=default_axes, pos=pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define Ising problem parameters\n",
    "def ising_maxcut(G):\n",
    "    '''\n",
    "    G is a NetworkX graph\n",
    "    '''\n",
    "    h = {v: 0. for v in G.nodes()}\n",
    "    if nx.is_weighted(G):\n",
    "        J = {(u, v): 0.5*G[u][v]['weight'] for u, v in G.edges}\n",
    "        offset = -0.5*sum(G[u][v]['weight'] for u, v in G.edges)\n",
    "    else:\n",
    "        J = {(u, v): 0.5 for u, v in G.edges}\n",
    "        offset = -0.5*sum(1.0 for u, v in G.edges)\n",
    "    \n",
    "    bqm = dimod.BinaryQuadraticModel.from_ising(h, J, offset=offset)\n",
    "    return bqm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot all solutions profile\n",
    "def plot_ennumerate(results):\n",
    "    results.change_vartype(dimod.BINARY, inplace=True)\n",
    "    samples = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results.data(['sample'],sorted_by=None)]\n",
    "    \n",
    "    energies = [-datum.energy for datum in results.data(['energy'],sorted_by=None)]\n",
    "\n",
    "    plt.figure()\n",
    "    plt.bar(samples,energies)\n",
    "    plt.xticks(rotation=80)\n",
    "    plt.xlabel('bitstring for solution')\n",
    "    plt.ylabel('C (cut energy)')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot solutions profile\n",
    "def plot_samples(results):\n",
    "    results.change_vartype(dimod.BINARY, inplace=True)\n",
    "    samples = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results.data(['sample'],sorted_by=None)]\n",
    "    \n",
    "    counts = Counter(samples)\n",
    "    total = len(samples)\n",
    "    for key in counts:\n",
    "        counts[key] /= total\n",
    "    df = pd.DataFrame.from_dict(counts, orient='index').sort_index()\n",
    "    plt.figure()\n",
    "    df.plot(kind='bar',legend=None)\n",
    "\n",
    "    plt.xticks(rotation=80)\n",
    "    plt.xlabel('bitstring for solution')\n",
    "    plt.ylabel('Probabilities')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot energies profile\n",
    "def plot_energies(results):\n",
    "    results.change_vartype(dimod.BINARY, inplace=True)\n",
    "    energies = [-datum.energy for datum in results.data(['energy'],sorted_by=None)]\n",
    "\n",
    "    counts = Counter(energies)\n",
    "    total = len(energies)\n",
    "    for key in counts:\n",
    "        counts[key] /= total\n",
    "    df = pd.DataFrame.from_dict(counts, orient='index').sort_index()\n",
    "    plt.figure()\n",
    "    df.plot(kind='bar',legend=None)\n",
    "\n",
    "    plt.xlabel('C (cut energy)')\n",
    "    plt.ylabel('Probabilities')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it takes the enumeration of all solutions was 0.0023116999991543707 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bqm = ising_maxcut(G1)\n",
    "start_time = timeit.default_timer()\n",
    "results_exact = exact_sampler.sample(bqm)\n",
    "time_exact = timeit.default_timer() - start_time\n",
    "print(\"The time it takes the enumeration of all solutions was \"+str(time_exact)+\" seconds\")\n",
    "plot_ennumerate(results_exact)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it took 2048 runs of simmulated annealing was 0.11512870000024122 seconds\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_simann = sim_ann.sample(bqm, num_reads=2048)\n",
    "time_simann = timeit.default_timer() - start_time\n",
    "print(\"The time it took 2048 runs of simmulated annealing was \"+str(time_simann)+\" seconds\")\n",
    "plot_samples(results_simann)\n",
    "plot_energies(results_simann)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_dwave = sampler.sample(bqm, num_reads=2048)\n",
    "time_dwave = timeit.default_timer() - start_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The total time it took 2048 runs of quantum annealing was 2.440167300000212 seconds\n",
      "qpu_sampling_time = 0.645038 seconds\n",
      "qpu_anneal_time_per_sample = 2e-05 seconds\n",
      "qpu_readout_time_per_sample = 0.000274 seconds\n",
      "qpu_access_time = 0.654444 seconds\n",
      "qpu_access_overhead_time = 0.002821 seconds\n",
      "qpu_programming_time = 0.009406 seconds\n",
      "qpu_delay_time_per_sample = 2.1e-05 seconds\n",
      "total_post_processing_time = 0.002307 seconds\n",
      "post_processing_overhead_time = 0.000967 seconds\n",
      "total_real_time = 0.654444 seconds\n",
      "run_time_chip = 0.645038 seconds\n",
      "anneal_time_per_run = 2e-05 seconds\n",
      "readout_time_per_run = 0.000274 seconds\n"
     ]
    }
   ],
   "source": [
    "print(\"The total time it took 2048 runs of quantum annealing was \"+str(time_dwave)+\" seconds\")\n",
    "time_dwave_detailed = results_dwave.info[\"timing\"]\n",
    "for key, value in time_dwave_detailed.items():\n",
    "    print(str(key) + ' = ' + str(value/1000000) + \" seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_samples(results_dwave)\n",
    "plot_energies(results_dwave)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "samples_simann = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results_simann.data(['sample'],sorted_by=None)]\n",
    "samples_dwave = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results_dwave.data(['sample'],sorted_by=None)]\n",
    "    \n",
    "counts_simann = Counter(samples_simann)\n",
    "total_simann = len(samples_simann)\n",
    "for key in counts_simann:\n",
    "    counts_simann[key] /= total_simann\n",
    "df1 = pd.DataFrame.from_dict(counts_simann, orient='index', columns=['SimAnn']).sort_index()\n",
    "\n",
    "counts_dwave = Counter(samples_dwave)\n",
    "total_dwave = len(samples_dwave)\n",
    "for key in counts_simann:\n",
    "    counts_dwave[key] /= total_dwave\n",
    "df2 = pd.DataFrame.from_dict(counts_dwave, orient='index', columns=['Dwave']).sort_index()\n",
    "df = pd.concat([df1,df2], axis=1)\n",
    "plt.figure()\n",
    "df.plot(kind='bar')\n",
    "\n",
    "plt.xticks(rotation=80)\n",
    "plt.xlabel('bitstring for solution')\n",
    "plt.ylabel('Probabilities')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "energies_simann = [-datum.energy for datum in results_simann.data(['energy'],sorted_by=None)]\n",
    "energies_dwave = [-datum.energy for datum in results_dwave.data(['energy'],sorted_by=None)]\n",
    "    \n",
    "counts_simann = Counter(energies_simann)\n",
    "total_simann = len(energies_simann)\n",
    "for key in counts_simann:\n",
    "    counts_simann[key] /= total_simann\n",
    "df1 = pd.DataFrame.from_dict(counts_simann, orient='index', columns=['SimAnn']).sort_index()\n",
    "\n",
    "counts_dwave = Counter(energies_dwave)\n",
    "total_dwave = len(energies_dwave)\n",
    "for key in counts_dwave:\n",
    "    counts_dwave[key] /= total_dwave\n",
    "df2 = pd.DataFrame.from_dict(counts_dwave, orient='index', columns=['Dwave']).sort_index()\n",
    "df = pd.concat([df1,df2], axis=1)\n",
    "plt.figure()\n",
    "df.plot(kind='bar')\n",
    "\n",
    "plt.xticks(rotation=80)\n",
    "plt.xlabel('bitstring for solution')\n",
    "plt.ylabel('Probabilities')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt8FOXZN/DfzO5sdnPaBHKAHIAAOSBSQgHlEIhyCkRUqhgQRA2oUAkK7fNA5fXp+zxPLS2oBRsQDzWIVCEU+zYWwaCURhJLVSRIEJJglhBIJCezSZbd7GHm/SNuzHEPyWx2dvf6fj58PmSzM3OHw7VzX/c198UIggBCCCHux7p7AIQQQtpRQCaEEImggEwIIRJBAZkQQiSCAjIhhEgEBWRCCJEICsiEECIRFJAJIUQiKCATQohEyJ15c1hYmDBq1CgXDYUQQrzT2bNn6wVBCLf3PqcC8qhRo/Dll1/2f1SEEOKDGIapdOR9TgVkQtxNqzdBU6+D0cxDIWcRFxYAtYpz97AIEQUFZCJ5F6u1eKtQg4KyOjQbTFDKZQADQAAMZguClRxSE8KxJiUO46PU7h4uIf1GAZlIVkVdKzbmFqOstgUmswDLDzsTmizmLu9r0BmRV1yNYyU1SIwMws6MZIwOD3THkAkZEKqyIJK0r0iD9OzTKKnWwmDiO4JxXyyCAIOJx4UbWqRnn8a+Is0gjZQQ8dAdMpGcbccu4cCZShhMvNPH8gJgMPHYkV+KGq0BW9PHuWCEhLgG3SETSdlXpMGBM5XQmywDOo/eZMGBM5V0p0w8Ct0hewlvqD6oqGvF9vzL/boz7o3eZMH2/Mu4KzECcWEBopyTEFeigOzBvK36YNPhYhjN4gRjK6OZx8bcc8hbnyLqeQlxBQrIHsgbqw9KqrUovdkC3sba3bWXl3b5WjAbETQpHUMWrOvzGF4Aym624GK11iM+lKy8YcZDnEcB2cPsK9Jge/5lGM28zeBlZREEWExCR/XBlrQkZM6Mc/1AnZRTqIHJbPsHGvHLIx2/540GXM9+BP5J9u98jRYBOYUavJyRPOBxupK3zXiI8yggexBvrj4oKKuzW9rW2a3SIsj81fCLHW/3vRZeQEF53UCG51LeOOMh/UNVFh7Cm6sPtHoTmg0mp45pvXASAbfPAcMwDl9Dq3fuGoOB6q1JZxSQPYC1+mCgwdjKWn2gqdeJcr6B0tTr2qfnDjJra9FWVYKACXMdPkYpl0nm57XaduwSduSXwmByLP3UWecZz7Zjl1wzQDLoKCB7AFdWH7ib0WjEtRvVsHSbntvSWvIP+MXcBi5kmOMXYiD6n+FAePOMh/Qf5ZAlzpHqg/4YjOoDnU6HGzdu4Pr167h+/Xqvv29oaMCw8dMgn78RkCsdO2/JP6CettT+G7uM5RZe37sH5+OHIT4+HvHx8YiKinI45SEmqrcmfaGALHGOVB8AgLnpJhpOvArjjcuAnENA4kyEznsKDNt3KqC/1QeCIKCpqalHkO3+tV6vR0xMDKKjoxETE4OYmBgkJSVh7ty5HV9HRkai1chjym8/hsli/+c0XL8ES2uDQ9UVnTFyDrGBfvjXv/6Fd955B+Xl5WhpacGYMWM6ArT119ixYzF8+HCXBWuqtyZ9oYAscY5WHzSceBUy/xDEbDgA3qDDzdzn0fLVhwiecl+fx/RWfcDzPGpra/u8s7V+LZfLuwTamJgYTJ06FT/72c86gvDQoUMdCmpqlQzBSg4NOqPd9+pKTsI/YQZYP3+77+0sNMAP/711c5fXmpub8e2336K8vBzl5eU4ffo0cnJycOXKFeh0OowdO7ZHoI6Pj0dkZGS/g7Unz3iI61FAljBnqg/M2psInrwYjFwBWaACqrjJMNVfs3tcQ4sBDz68CjerNLh+/TpqamoQHBzcEWStQXfOnDkdX0dHRyM4OHigP14XqQnhyCuutvvhM3RhltPnlrEMUuN7ds8JDg7GpEmTMGnSpB7f02q1uHLlSkewPnXqFN58802Ul5ejra2tIzh3D9rh4eE2g7WjMx4A0H1TgKaig7A010EWEIqh92yEMvb2Pt/vKfXWpG8UkCXMWn3QvR61N8FT7oPum0/hN2ICeEMr9BVfImTWI3aP4xgBd85bjGnxwxETE4OoqCgolY7lcsW0JiUOx0pqYDGJfOsIQCFjsDrFuYdh1Go1Jk+ejMmTJ/f4XlNTU0egvnLlCk6ePInXXnsN5eXlMJvNvQbq+Ph4DB061OEZj15zDt//822E378FiqgEWFob7R4j9XprYh8FZAkzmvn2J7UcoIydgNbifFT9IQMQeATcPheqhOl2j/NT+uGuOSm4I27IAEc7MOOj1EiMDMKFG1pRp/MsAyREBok6jQ8JCcHUqVMxderUHt9rbGzsCNTl5eXIz8/H7t27UV5eDij8oX58L2Ajr2+lLXwX6pkPwy86CQAgDwpzaGzWemt6zNozUUCWMIWcBRwIToLA4+bhXyMoeSGGrXoJvEmPhg9fQdM/9yH07tV2Dv7hOhKwMyMZ6dmnRas+ANp/tl3LeqYkXGXIkCG48847ceedd3Z5XRAEfHrxGtblXoTeTspC4C1oq7kC1dg7ceO1JyFYjPCPn4aQu1eD5fxsHmutt06ODRnwz0IGnzT+J5JexYUFwGC2X6fK61tgaa5D0E8Xg5FzkKmCEfiTedB/a79DuMFskUyp1OjwQGxJS4KKc/whEVtUnAxb0pIk8fMxDANVQBDkDjwAY9E1AbwZt0qLEPnIdgzP/COMNyug/SzXgQtJq96aOIcCsoSpVRyClfannjJ/NeTqSLScOwaBt4A3tKL1wklwEfbzpmoVJ6npbebMOKyaNnLAQVnFyfDo9JGS2kjJ0RkP88NdcNDkeyEPHAKZvxpBU5c49AErpRkPcR6lLCTMaDRihEKHhhbWbt4x/IH/g8ZP3kDzmSMAK4NyxAQMmfukzWP6qj5wt63p4zBcrXRqVzsrlmkPSJvTEiUVjAHHZzwyZSBkDuaMu5PSjIc4jwKyBNXU1OCNN97A66+/jrifzgI3cRXspVUVkaMxbOXvnbpOf6oPBkvmzDikJoRj0+FilN1sgdEiwGIjMstYBgoZg4TIIOxaNkmSQck643Gk3jpwwjy0nD0K1ejJgEyOli/z4D+25yJib9eQ0oyHOIfmNhIhCAI+++wzrFixArfddhu+++47fPzxxyg6movbokLAivzQmCuqD8Q2OjwQeetTcGTdDCyZGIWwQAU4GYMgPzmClHIE+cnByRiEBSqwZGIUjqybgbz1KZIMxlapCeGQOfKwzMzlUAyPx4031qL6zXVQRI6BesYym8ewDCQ54yGOYwQn9qCdMmWK8OWXDuSxPJC7OjTo9XocOnQIu3fvRnNzM9avX4/HH38cISE/rpJX1LWKXn2g5Fgcf2a2pINXbzy9k8bFai0efO0zUf8urQRTG26rPo6tP38UKSkpbtmng/SOYZizgiBMsfc+n05ZuLNDQ2VlJfbu3YucnBxMmTIFL7zwAtLS0sCyPSct1uqDHfmlomzBqeJk2JyW6HHBGGifkntySZcr661vGxGG9NGT8MQTTyAwMBDPPvssli1bBj8/26VyRDp88g65rw4NvZExDDg5I0qHBkEQcOrUKWRnZ+PTTz/Fo48+ivXr12Ps2LEOHW/tGDKQoGytPnhukbQ6hvgSV894eJ7HRx99hF27duHChQv4+c9/jnXr1iEiIkK06xHnOHqH7HM5ZHd0aGhtbcXevXtx++2345lnnkFaWhoqKyuxc+dOh4Mx0F59sDktEUqOdTqnzDLt/2k3pyVSMHYzV9dbsyyL9PR0nDhxAp988gmuX7+OxMRErF69GufPnxflmvZo9SYUVzXhc00jiquaJNmtRYp86g5ZrDvMVdNGOtSTrry8HHv27MGBAwdw1113ISsrC3fdddeAc3sVda1eVX3gqwZzxlNfX48333wTe/bsQUJCAjZu3Ih77rkHMpk4HwoANWm1xdE7ZJ8JyPuKNKLnYHurc7VOF7Ozs3H27Fk88cQTWLduHUaMGDHg63Z3sVqLnEINCsrroNX3/A+gVnFIjQ/Hah/8D+ApnO0ibmWtt3a2i7jJZMKRI0ewc+dONDY24plnnkFmZiaCgoL6Mfp27koBehIKyJ0MRpVCU1MT9u3bhz179kCtVmPDhg1Yvnz5oO2c5unVB77MHTMeQRBw5swZ7Nq1C5988gkee+wxbNiwAXFxztWlD/YHiqeigNzJ/XsKXbKqPSFajRdmq7Fnzx7k5uYiPT0dWVlZmDZtGpUcEae5a8Zz7do17NmzB2+99RZmz56NjRs3YtasWXb/DQ92CtCTUUD+QUm1FktdVPfJWEwwfvg7rF12D5566ikMG+ZE001CbHDHjEen0+Gdd97BK6+8An9/f2zcuLHPsrnBSgF6CwrIP/jF4WKHOlGY6qvQcGIvjDevQKZSI/TuTPgnzrB5DAsB90+Mws7lPxVzyIS4Fc/zyM/Px65du/D111/3KJujB5WcR2VvP3CkQ4PAW1D7/m/gP3YqYp89iCELs1B/9GWYGm/YPI4Hg9PfNog5XELcjmVZLFq0CPn5+Th58iSqq6uRlJTUUTbnyiatvs6rA7KjPelMDVWwtDYiaOoSMKwMqlET4Rd9G3Ql/3DoGlRjSbzVbbfd1tGeKiEhAfc8sg5fV9a7tEmrL/PqR6cd7knX6z8uAca6SrvXoA4NxBcMHToUv/rVr/DdqAXIO19t9/3fvfsrtFWXgvlh21hZ0FBEP/W6zWOoSauXB2RHe9JxQ2Mg81ej+d/vI3jqEhiufQ3DtRIoR06wfzB1aCA+5PSVBggONnocsmAdgiamOXxuatLq5QHZ4Q4NMjnCH3wejR+/juYz70MxfCwCxqUAMgdWtalDA/ERjqYAB3oNX27S6tUB2dEODQCgiIjrssH7dwf+AwG3z7V7HHVoIL7C4RTgD5r+uR9N/9wPbkg0QmavgnLkT+we4+spQK8OyM50aDDWasANiYYg8Gj56hjMrd8jcMI8h67hq5/mxLc4mgIEgNC7M8ENjQUj46C79Clq3/8Nhmf+EVzocNsH+ngK0KsDMtDeocGROmRdySm0ns+HwFvgFzsekct/A0ZuO9BKtScdIa7gaAoQAPyiEjt+HzhhLnTfFED/7Zfgptxr+0AfTwF6fUBekxKHYyU1sJhs/0sKnbMaoXNWO3VuKfekI0RszqQAe2B+eAbcDl9PAXr9R5G1Q4Mv9qQjREzWFKA9vKEV+oqzEMxGCLwFrRdPoa2qBKo4+0+0+noK0OvvkAFgZ0ay6I96KuQsdi2bJNr5CPEEjqQABd6Cpk//DFPjdYBhwQ2NQfgDz4MbGmPz3JQC9JGAbO3Q8Pvjl9BmGfgjRp7ck46QgXAkBSjzV2P44zudPjelAH0gZWE1I8yIW+ePg2MGFpCtHRq8eWcqQvpCKUDX8omA/O2332LevHn43wd+iq33jKeedIQMwM6MZNErISgF2M7rA/LVq1cxd+5cPP/888jMzETmzDgc2zALE6LVUHEsZHYis4xloOJYTIhW4/gzs+nOmPg8sZu0cozQpUmrL/PqHHJVVRXmzJmDX/7yl1i7dm3H66PDA5G3PoV60hHST5kz41CjNQy4Y4ifjIH+63zciq4EZq4XcYSeyWsDcnV1NebOnYusrCxs2LCh1/eMj1J37CxFPekIcc7W9HEYrlYOuKfeXWvGYd68eWhubsZzzz3nugF7AK8MyDdv3sTcuXORmZmJX/ziFw4do1ZxPvv8PCH9lTkzDqkJ4QNu0nr69GnMnz8fzc3N2LZtm8/2pPS6gFxfX4958+Zh+fLlPv9pS8hgECMFGBUVhYKCAixcuBDNzc3Izs4Gy3r9ElcPXtVTr7GxEXPnzsWiRYvw29/+1mc/ZQlxt/6mAJubm7F48WKMGjUKOTk5kMu9457R53rqNTU1YcGCBZg7dy4FY0LczJoCvCNuCJJjQxxejwkODsZHH32Euro6ZGRkoK2tzcUjlRZJBmSt3oTiqiZ8rmlEcVWT3Z51LS0tWLRoEWbMmIEXX3yRgjEhHszf3x95eXlgWRb33nsvdDqdu4c0aCQzH7hYrcVbhRoUlNWh2dAz/xSs5JCaEI413fJPOp0O6enpmDhxIl555RUKxoR4AYVCgUOHDuHJJ59EWloajh49ipAQ7190d3sOuaKuFRtzi1FW2wKTWbC5aYmMYcDJGSRGBmFnRjKGBbAd+aY//elPPrkIQIg343keGzduRGFhIfLz8xEe7pmbDzmaQ3ZrQN5XpOl/DaOMRXDFKSSyNXj77bchk4nz1BAhRFoEQcB//dd/4f3338cnn3yC6Ohou8dI7bkCRwOy21IW245dwoEzlf3aEpMXAIOZhzFmBu6fFU/BmBAvxjAMXnjhBQQHB2PWrFn45JNPMHr06B7v62/aU0rcEpD3FWkG/MglAPAshz9/XoWoUH/aY4IQL7d582YEBwdj9uzZyM/Px/jx4wH0nfbs3oy1QWdEXnE1jpXUdKQ9R4cHDvrPYcugB+SKulZsz78s2mbxepMF2/Mv467ECNqchBAvt27dOgQFBWHu3Ln48MMP8bVhiFNpT4sgwGIScOGGFunZp7ElLUlSN3ODHpA3HS4Wvaus0cxjY+455K1PEfW8hBDpWblyJQIDA3Hfr3MQMCkdxn5MtHkBMJh47MgvRY3WgK3p0thSd1ADckm1FqU3W3p8kjWf/Tt0F07CWHcVAeNSEbZ4U8f39FeL0XjiNVia66CISkDYPZsgV0d0OZ4XgLKbLbhYrZVsbogQIp7GsJ8gIFner2Dcmd5kwYEzlRiuVkriTnlQ68RyCjUwmXvOK+SBQ6GesQyBP5nf5XXLLS3q/t82hMx+BLEbD8JvWDzq8rb3em6jRUBOocYl4yaESIc17WkUaaJtTXtq6t3/AMqgBuSCsrpe64z9E2fAP2E6WFVwl9dvlf0LirARCEhKASNXQJ2yAqZaDUwNVT3OYeEFFJTXuWzshBBpcGXa090GLSBr9SY0G2w/At2dqa4SXMSP0whWoYQ8ZBiMddf6vIa9x6wJIZ6rr7RnX0yNN1D54s9Q//eXbL6vc9rTnQYtIGvqde11gU7gTQawfl0rJ1i/AAhGfa/vV8plkph2EEJco6+0Z18aT7wGv+HxDr1XCmnPQQvIRjPfXqTtBJZTgm+71eU13ngLjELV+wEMRJ/KEEKko6+0Z2903xSAVQZAOXKiQ++XQtpz0AKyQs4CTjweDQBc+EiYan/8xOKNBpi//w6K8BG9HyBA9G64hBBpcCbtybfdQtPpdxE6Z43T13Bn2nPQoldcWAAM5t5rVATeAsFsBHgLIPAQzEYIvAX+CdNhrK+E7nIRBLMR2qKD4CJGgRsa2+t5DGYLPRxCiJdyJu3Z9OkBBE5cAHmwc5sRuTvtOWh1yGoVh2Alhwadscf3tEWHoC062PG17uIpqGc+jJBZKxH+s61oPPEaGo6+DMXwBITft9nmNagxKSHeydG0p/FmBQyV5zE88xXnL+LmtOegPhiSmhCOvOLqHjmgkFkrETJrZa/HqEYlI/qp1+yeW8YySI33zK35CCH2OZr2NFy7ALP2Jq6/mgkAEIwGQOBRU/+s/SDt5rTnoAbkNSlxOFZSA4vJyWSyAxQyBqtT3P+kDSHENWylPTsLTE5DwLjZHV83f/5XmLU3MSRtvd1j3Z32HNSPgvFRaiRGBoEVuakHywAJkUH02DQhXsya9rSH5ZSQBYZ2/GI4JRi5AjJ/+/HB3WnPQb8335mRLPqUQCFnsWvZJFHPSQiRntSEcMicbNMWMmslwu79D7vvk0Lac9AD8ujwQGxJS4KKE2dTeRUnw5a0JKquIMQHrEmJAyd3Td9MKaQ93ZK9zpwZh1XTRg44KKs4GR6dPlISuzQRQlzP29OebltO3Jo+DpvTEqHkWKf/cFkGUHIsNqcl4rlF0tjHlBAyOLw57enWx9oyZ8bh2IZZmBCthopjIbMTmWUsAxXHYkK0GsefmU13xoT4IG9Oe7qtyanV6PBA5K1PwcVqLf6YfwEfnb8GRWBIjwaFahWH1PhwrJZwg0JCyODInBmHGq1hwL05pZb2dHtAthofpcbcgGrcvHoY+w/+RVItvAkh0rM1fRyGq5VO9dSzYpn2NMXmtETJBGNAQgEZAD7//HPccccdUKs4JMeGuHs4hBCJy5wZh9SEcGw6XIyymy0wWgRYbEVm3gKlH4fEyCDsWjZJEmmKziS1NdoXX3yBqVOnunsYhBAPYk17Hlk3A0smRiEsUAFOxiDIT44gpRxBfnJwMgZhgQqwVWfxvylq5K1PkVwwBiR0h2w2m/HVV19hypQp7h4KIcQDjY9S4+WMZADt22j2lvb87/8uwr+O/wUZC2a4ebS9k8wd8qVLlxAVFYXQ0FB3D4UQ4uGsac874oYgOTakYw1q+fLlyM3NhcUywHbVLiKZgEzpCkKIqyUlJSEyMhKffvqpu4fSK8kEZOuCHiGEuNLDDz+MgwcP2n+jG0gmINMdMiFkMCxfvhx//etfYTT2bJbhbm5b1OucdBcsJlyuuIbk5GR3DYcQ4iNGjBiBpKQkfPzxx7jnnnvcPZwuBjUgX6zW4q1CDQrK6tBsMHU8jWc2WxD+1FtIebkQqQnhWENP4xFCXMiatpBaQGYEB1tqA8CUKVOEL7/80umLVNS1YmNuMcpqW2AyCzbbeMsYBpycQWJkEHZmJGN0eKDT1yOEEFtqa2uRkJCA6upq+Pv7u/x6DMOcFQTBbk2vy3PI+4o0SM8+jZJqLQwm3mYwBgCLIMBg4nHhhhbp2aexr0jj6iESQnxMREQE7rjjDhw9etTdQ+nCpQF527FL2JFfCoPJuefMAYAXAIOJx478Umw7dsk1AySE+KzO1RZavQnFVU34XNOI4qomaPUmt4zJZTnkfUWaAe/EBAB6kwUHzlRiuFopqU1ACCGebdyM+dj6wWX89Dcn0NJm7rHDZLCSG/Q1LZfkkCvqWpGefRoGEz+QsXWh5Fgcf2a2JJ8/J4R4js5rWoY2M8D2nSgQa03LrTnkTYeLYTSLF4wBwGjmsTH3nKjnJIT4lu5rWraCMTD4a1qiB+SSai1Kb7Y4nTO2hxeAspstuFitFffEhBCf4AlrWqIH5JxCDUzmrj9t89m/o+btjah8cQnqj+7seF2wmFD3/7bh+qurUfn7xTBUfm3z3EaLgJxCqroghDhH7DUtV90pix6QC8rqepS2yQOHQj1jGQJ/Mr/H+/1ixiPs3l9CFmB/lzcLL6CgvE60sRJCvF9FXSu2518ecDC20pss2J5/GZp6nSjn60zUgKzVm9Bs6Fku4p84A/4J08Gqgru8zsg4BE+9H8rY8XZzOZ2v4a6SFEKI5/GkNS1Ry9409Too5TKYLGYxT9uFUi6Dpl5HLZ4IIXY5uqZV//eXYLh6HrzJAFlAKIKnPYigiWl9vr/zmpaYJXGiBmSjmW+v43MlBqJ/2hFCvFNva1q9CZ72EIYuehaMnIOpoQrfvfccFJFj4DdsbJ/HWNe0rF1KxCBqykIhZwGRqyt6EH64DiGE2NHbmlZvFOEjwcitne0ZMGBg/r7G5jGuWNMS9Q45LiwABrNrW6MYzBZ6OIQQYldfa1p9ach/FboLJyGY26CIHAPVGPv9Pa1rWtYWUQMlakBWqzgEKzk06Lpu/CzwFsD6S+AhmI0AKwPDyiCYTbDeVgu8uf17Mg4M03vuQ63iRPvhCSHey9k1raFpT2PI/LVou3EZhmsXwMjsxxmx17RE38siNSEcecXVXaYJ2qJD0Bb92DJFd/EU1DMfRsislbjxxlpYmmsBALW5vwYARK97C/KQyB7nlrEMUuPDxR4yIcQL9WdNi2FlUMaOh+7iKbScO4bgKffZOUDcNS3RA/KalDgcK6mBxfRjQA6ZtRIhs1b2+v6Yp3McPrdCxmB1Cm0wRAixb0BrWjxvN4cMQPQ1LdFXx8ZHqZEYGQRW5GoLlgESIoOokwghxCGOrmlZdE3QfVMA3qiHwFugrzgL3aUCKEdOtHus2GtaLtl+c2dGsui7vSnkLHYtmyTa+Qgh3q2vNa0eGAYt546jIf9VQOAhV0cgdO6T8E+Y5tA1xFzTcklAHh0eiC1pSdiRXyrK44oqTobNaYlUXUEIcUpva1rdyfzVGLby906f2xVrWi4r6M2cGYdV00ZCxckGdB4VJ8Oj00fS5vSEEKetSYkDJ3fN02quWNNy6RMWW9PHYXNaIpQc63ROmWXaN6XfnJaI5xaNc80ACSFezdPWtFz+yFvmzDgc2zALE6LVUHEsZHb+ZBjwUHEsJkSrcfyZ2XRnTAgZkJ0ZyaI/3euqNS2X9dTrbHR4IPLWp+BitRY5hRoUlNdBqzf16GGlYgW0VZ7Hkd9toGoKQogoPGlNa1ACstX4KHXHRhxavQmaeh2MZh4KOYu4sAAEKliMHLkWQuMSgAIyIUQkmTPjUKM1DHiTelevabltlx61ikNybAjuiBuC5NgQqFUcZDIZVq1ahf3797trWIQQL+UJa1ou6To9EJcvX8bdd9+NqqoqyOWDegNPCPEBFXWt2HS4GGU3W9BmsoC38Xy1jGWgkDFIiAzCrmWT+p2mcLTrtOQiXlJSEkaOHIkTJ04gPT3d3cMhhHiZzmtaT718CI1+w2BmuR5rWmoVh9T4cKxOiRu0NS3JBWQAePzxx7F//34KyIQQlxkfpUbtBy/hyJEjGJVwW481LXfsKim5lAUAfP/994iLi4NGo0FoqP3mp4QQ4qyKigrMmDED1dXVYB3s6dlfjqYsJNl6IzQ0FGlpacjNzXX3UAghXurjjz/G/PnzXR6MnSGdkXTz2GOP4e2333b3MAghXurEiRNYsGCBu4fRhWQD8oIFC1BZWYnLly+7eyiEEC9jNpvxj3/8A/PmzXP3ULqQbECWy+V45JFHutQka/UmFFc14XNNI4qrmqDVO94vixBCrL744guMGDECw4cPd/dQupBklYXVY489hoUPPwFD8jl8Wl6PZkPPx62DlRxSE8KxZhBLUwghnk2K6QpAwnfIFXWt2PrPJsgXbUFecTUadEaYLAJa2sxoMZjR0mbtVh2qAAAWq0lEQVSGySKgQWdEXnE1HnztM9y/pxAVda3uHjohROIoIDthX5EG6dmnUVKtBWQK2Os7YhEEGEw8LtzQIj37NPYVaQZlnIQQz9PU1ISvv/4aKSkp7h5KD5JLWWw7dgkHzlT2q/0TLwAGE48d+aWo0RqwNZ32USbE13XfyOzimVOYMWMGVCqVu4fWg6QC8r4izYB3YwIAvcmCA2cqMVytpP2UCfFBF6u1eKtQg4Kyuh5rT60GOZSTn8YvDhdLbu1JMgG5oq4V2/Mvi9YYVW+yYHv+ZdyVGEG9+AjxERV1rdiYW4yy2haYzEJHLz2TxfzjmxgWeoFFXnE1jpXUIDEyCDszkjE6PNBNo/6RZHLImw4Xw2gWr0s1ABjNPDbmnhP1nIQQaeq89mQw8TYbmwLSXHuSxB1ySbUWpTdbwHf682s++3foLpyEse4qAsalImzxJgBA243LaDr9Zxi/uwIwLJQjJiB0/lrIA4f0OC8vAGU3W3CxWiupaQkhRFzesvYkiTvknEINTOaun2bywKFQz1iGwJ/M7/I6b2hFYPJCRP88B9FP54BRqNDw4a4+z220CMgpdP8nHyHENcRee3LnnbIkAnJBWV2P6YV/4gz4J0wHqwru8rpqzBQEJKWA9fMHyykRNHkx2m5c6vPcFl5AQXmdS8ZNCHEv69qTGL3ygB/XnjT1OlHO5yy3B2St3oRmQ/8fgW6ruggubITda9Bj1oR4H29be3J7DllTr4NSLuu6CuogY60G2qKDCH/weZvvU8pl0NTrkBwb0t9hEkIkpre1p+4EswkNJ16F4WoxeEMr5CHDEZr6KFRj+t6a2J1rT26/QzaaedhoadUn0/fVqD38fxE67ykoY2+3/WYGon+KEkLcq7e1p+4E3gJ5UBiGrfg9YjflImT2I6jL2w5z002bx7lr7cntd8gKOQs43rQEAGDW1uLmweehnrkcgbfPsX+A8MN1CCFeo7e1p+5YhRIhs1Z2fO0/9g7I1ZFo++4K5CGRfR7nrrUnt0epuLAAGMw9E/ICb4FgNgK8BRB4CGYjBN4Cc0s9bh7ciqDJ9yBokmM99wxmCz0cQogX6e/ak0X3PUyNN6AIt73uZL3GYK89uf0OWa3iEKzk0KAzdnldW3QI2qKDHV/rLp6CeubDAMPA3PQdtIUHoS388fsjfnnE5jXc0bCQEOIa/Vl7Eixm1H/wEgInzAU3NNbu+92x9uT2gAwAqQnhyCuu7jL9CJm1sstUo7OQlBUOn1vGMkiNDx/wGAkh0uHs2pMg8Kg/+jIgk2PI/HWOHeSGtSe3pywAYE1KHDh5P1b2HKCQMVidQhsMEeJNnFl7EgQBDcf+CIuuCeE/2wpG5uB9qBvWniQRkMdHqZEYGQRW5JjMMkBCZBA9Nk2Il+lr7ak3jfl7YGqoQsTSX4Pl/By+hjvWniSRsgCAnRnJSM8+Ldpub0D7p9uuZZNEOx8hRBr6WnvqzqytRWvxR4CMw/XsVR2vD1m4HoHj77Z7jcFee5JMQB4dHogtaUnYkV8qymOQSo7FlrQkqq4gxEv1tvbUnVwdgZG/Our0ud219iSJlIVV5sw4rJo2EipONqDzsLwJATe+xIopUSKNjBAiNd649iSpgAwAW9PHYXNaIpQc63ROmWXa74y33nM74rTn8eCDD6Ktrc01AyWEuJU3rj1JLiAD7XfKxzbMwoRoNVQcC5mdP3EZy0DFsZgQrcbxZ2bjidljcfDgQfj5+WHp0qUUlAnxUjszkkWvhHDn2pMkAzLQnlPOW5+CI+tmYMnEKIQFKsDJGAT5yRGklCPITw5OxiAsUIElE6NwZN0M5K1P6cgZcxyHQ4cOgeM4PPTQQxSUCfFCcWEBGKu7CFhsL+45SsXJ3Lr2xAh2ngXvbMqUKcKXX37pwuHY1r17bFxYgN1VUKPRiGXLlsFiseDIkSNQKBSDNFpCiCvxPI+srCx89dVXSNvyGg6f+25ABQEqToZHp4/Ec4vE7xjCMMxZQRD63mLO+j5PCsj9ZTQakZGRAUEQ8Je//IWCMiEejud5rF27Ft988w2OHz+O4OBg7CvSYHv+ZRjNvM0tObtjmfY0xZa0JJd1qXc0IEs2ZSEmhUKBw4cPg2EYZGRkwGgUZ3pDCBl8FosFa9asQVlZGT766CMEB7d3FRro2pOrgrEzfOIO2cpoNOKhhx4Cy7LIzc2lO2VCPIzZbMbjjz+OmpoafPDBBwgI6D3Xe7Fai5xCDQrK66DVm6CUy9r3vhDan8BTqzikxodjdUrcoFRTUMqiD0ajEUuXLoVcLkdubi44jnaBI8QTmEwmrFq1Co2Njfjb3/4Gf39/h47rz9qT2Cgg29DW1oalS5dCoVB0VGLYIoW/UEJ8mdFoxIoVK6DX6/H+++9DqVS6e0hOoYBsR1tbGx588EEolUocPHiwR1C+WK3FW4UaFJTVodnQc8oTrOSQmhCONYM05SHEV7W1tWHZsmUQBAGHDx+Gn5/jGwRJBQVkB7S1teGBBx6Av78/3nvvPXAch4q6VmzMLUZZbQtMZsHmc/IyhgEnZ5AYGYSdGckYHR44iKMnxPsZDIYuN06euu5DAdlBBoMBDzzwAAIDA7Egaxte+qRckmUzhHiy/qT99Ho9lixZArVajXfffdej13soIDvBYDBgxtMvoil8Ani2/3/pKk6GVdNGYmu6+IXlhHiagaT9bt26hfvuuw+RkZHYv38/5HLJbEzZL44GZM/+KUVy8GwN9DFTwA9wL2a9yYIDZyoxXK2kO2Xis/pK+3Xvf9egMyKvuBrHSmq6pP1aW1uxePFijBo1Cm+99RZksoHt/uhJfOLBEFsq6lqxPf8y9CJtjK83WbA9/zI09TpRzkeIJ9lXpEF69mmUVGthMPE212AAwCIIMJh4XLihRXr2aew9eQkLFy7E2LFjkZOT41PBGKCAjE2Hi0VvZGg089iYe07UcxIidduOXcKO/FIYTM6twQAALwAGE4/t+ZfBTX0Ib7zxBljW98KTT6csSqq1KL3Z0uMfT/PZv0N34SSMdVcRMC4VYYs3AQCM9dfQcPQPMH9fAwBQDBuL0PlroQgb0eV4XgDKbrbgYrWWSuKIT9hXpMGBM5UD7/YjU+A7ZSL2/6vSJ9N+vvcR1ElOoQYmc8+PcnngUKhnLEPgT+Z3e30Iwpc8h5iNhxDz7HtQxd+J+rwdvZ7baBGQU6hxybgJkZIf034Db70G+Hbaz6cDckFZXa85Lv/EGfBPmA5WFdzldVYZCHlIJBimfdMShmE77pa7s/ACCsrrxB80IRJDaT/x+GzKQqs3odlg6tex13Yug2DUA4IA9ayVNq+h1ZvoMWvitfpK+w2Ur6b9fDYga+p1UMplPUpxHDFiUy54owG6kpOQBUf0+T6lXAZNvQ7JsSEDGSohktVX2q+7vtZlbLGm/V7OSBZjqB7BZ1MWRjPfXqTeT6xCicBJi9Bw9A+w6Jp6fxMD0adyhEhJX2m/7vpal7HFF9N+PhuQFXIWGOg0SxAgmNtgaWno4/sQvQEjIVLhTNqvr3UZR66h1fcvteiJfDZaxIUFwGDufVVY4C0QzEaAtwACD8FshMBboNecg/G7byHwFvBtt/D9yT+BVQaCC4vt9TwGs8VtzRIJcTVr2s+VrGk/X+GzOWS1ikOwkkODrmc7J23RIWiLDnZ8rbt4CuqZD4MLH4nGj1+HpaUejFwBxfB4RGT8Dxh57ztQqVUcLegRrzXQtJ9DfCzt57MBGQBSE8KRV1zdIwcWMmslQvqonghISnHo3Ax43DkiaMBjJESqREn72eNjaT/f+Ul7sSYlDpzcNR/xjMDj0P+sRVZWFjQaekCEeB9baT+x+Fraz6cD8vgoNRIjg2CnOa3TWAaYEDsUFwvzERQUhKlTp2LFihU4f/68uBcixI2saT9H9LUu48g1fCnt59MBGQB2ZiSLPiVSyFnsWjYJw4YNw+9+9ztUVFRg0qRJSE9Px8KFC3Hq1Ck4sw81IVJUW1uL0LYahwKrtugQrr30AJrPHIHu4ilce+kBaIsO2TxGxjJIjQ8Xa7gegTaoR/vGKDvyS0V5Fl/FybA5LbHXjVHa2tpw4MABvPjiiwgJCcGWLVuwZMkSn9zViniuL774Art378YHH3yABRmrcS58LowW8W8wVByLI+tmeMWTeo5uUE+RAEDmzDismjYSKm5gJTwqToZHp4/sc5cqPz8/PPHEE/jmm2+wZcsWbN++HePGjcOf/vQntLW1DejafdHqTSiuasLnmkYUVzX5VE0nEU9bWxveffddTJs2DQ899BDGjx+PK1euIPf1lzFueLBL0n4JkUFeEYydQXfInewr0mB7/uVB66knCAIKCgqwfft2fP3119i4cSPWrl2L4GDniue7o47ZRCw3btzA66+/jjfeeAMTJkxAVlYWFi9e3GXj+Iq6VqRnn4ZBpCYPAKDkWBx/ZrbXLOhRT71+qqhrxabDxSi72QKjRYDFRmSWsQwUMgYJkUHYtWzSgP7xFBcXY8eOHThx4gSefPJJPPvssxg2bJjTY6eO2d6pP01C+0sQBBQVFSE7OxsnTpzAihUrkJWVhXHj+u4VOVhpP09FAXmALlZrkVOoQUF5HbT6nneZahWH1PhwrBb5LlOj0eDll1/Ge++9h4ceegj/+Z//ibFjx9o9brDv7onrDfZM59atWzh48CB2794NnU6HrKwsPPbYY1CrHTv3tmOXBrxJvTXt99wi72oUTAFZRIN5d2JVV1eH7Oxs7N27F3fffTe2bNmCyZMn9/pesf4jUMdsaRjsmc7Vq1fx6quvYt++fbjzzjuxYcMGzJ8/v1+LzXRj0DsKyF6itbUVb775Jv7whz8gMTERW7Zswbx58zo2yaeponcZrIAmCAJOnjyJ7OxsFBYW4vHHH8fTTz+NMWPGDGD07dyV9pMyCshexmg04uDBg9ixYweUSiU2b96MyXctwuI9RbSY4iUGY6bT0tKCd955B7t374ZcLkdWVhYeeeQRBASI//ftrrSfFFFA9lI8z+Po0aPYvn07bty+EsyQERBE3OGFZYAJ0WrkrXdszw4iDlfPdMrKyrB79278+c9/xpw5c5CVlYXU1NSOmZaruSPtJyWOBmSf3lzIE7Esi/vuuw+jp6TigT2FMHa7OXakM0NT4XvQFr6HiOUvQDWqazcGT2ud4w3/0a1NQsWa6VibhM6OD8Olzwuwe/dufPXVV3jiiSdw/vx5xMb2vl2sK6lVHHXOcQAFZA+VU6iBRfhh/teJtTODXvMVBFPPrUVN39fgVmkRZIFD+jy31FvneFudtSuahLaZLJj7/AGEfZWDDRs24G9/+xuUSqWo1yDio4DsoWx1zAaAtu+uwGKq7/H9xo9fQ+hdj6Mhf2+f55Zq65y+qg+690Vs0BmRV1yNYyU1kq+zdrRJqEXfgoZjr8Bw9RxYVTBCUx9DwPi7+ny/AAaKiJHYn3cS46Ol/6FE2tGj0x6ovx2zdZcLwbByqMZMdegaUnrMel+RBunZp1FSrYXBxNvt42YRBBhMPC7c0CI9+zT2FUlzC1RHm4Q2ntgLRsYhZsOfEXbvf6DhxKsw1lXaPMYiMMiR6M9NekcB2QP1p3UOb9SjqWA/Quc96dD7pdQ6Z9uxS9iRXwqDyblSMKA9J24w8diRX4ptxy65ZoAD4EiTUN5owK3SzxAy+xGwChWUsePhP/ZO6C6esnmcVGc6pG8UkD1Qf1rnNJ1+FwHj54ALcexxbAGCJFrn7CvSDLgUDGhf6DpwplJSd8qOznTMjTfAsCy4IdEdr3ERcTDZuUO2XkNKMx1iG+WQPVB/WucYKs/D0tKAlnMfAgD4W82o/9vvETxtKdTTlvZ4f3NzCxanL0T8EA6JiYldfo0ZMwYKRe99BMXkquqDuxIjJFFnbZ3pdM+Bd8eb9GD8/Lu8xvr5gzfq7V7DOtOhCgfPQAHZA9nrmA3rrx86M4CVIfLh3wKWH4+p2b8JoXOfgGp0749j+/kH4JPjf0VN5bcoLS1FaWkpTp8+jdLSUlRVVSE2NrZLkE5ISEBiYiKGDRsmWm2rK6oPjGYeG3PPuaXOWqvVoqqqClVVVbh27RrOXmvCLXMCwNr+cGM5FYS2rsFXaLsFVqGyf1EfaxLq6Sgge6D+dMzu0bSVYcEqA/v8T61WcUgYFYOEUTFITU3t8j2j0YiKioqOQP3vf/8b77zzDkpLS2E0GjuCc+df8fHx8Pf37/Vavemr+qCvOmtz003ceG0NGO7H0q7gaQ8iZObDXY53VZ21Xq/H9evXce3atY6g2zn4VlVVQRAExMbGdvxSxSRBDjksduKlfEg0BN4CU+ONjrSFsVYDLnyk/YH5WJNQT0cB2UP1p2N2ZzFP5/T5PXutcxQKBZKSkpCUlNTje42NjR2BurS0FIcOHUJpaSkqKioQERHRI1AnJiYiJiamx0Y2fVUf2Kuzjt2UC4a1veDpbJ212WxGdXV1l+DaPdg2NzcjJiamS8D96U9/ivvvv7/j65CQkC6zB63ehI9++zHs5Z9YhRL+idPRdPpdDF30DIy1Fbh15d8Y9siLdsfua01CPR0FZA+1JiUOx0pqYDGJ3zpHIWOwOqV/GwwNGTIE06dPx/Tp07u8brFYcPXq1Y5AXVJSgvfffx+lpaXQarWIj4/vEqRPlof2q87aEZ2rD3ieR11dnc1gW1tbi4iIiC7BduzYsbj77rs7vo6IiHB6dzRbM53uhix4Gg3HXsH17JVgVcEYuuBpKBy4Q/a1JqGejgKyh7J2zL5wQ+t0KZgtrmqdI5PJMGbMGIwZMwbp6eldvtfc3IyysrKOYP3Xox9BO2IpwDr/z/PGq5kAw0A5ahJC786EzL/3n6O+WY/RSbej+uoVBAYGYsSIEV0C7uTJkzt+HxUVBY5zTVDra6bTnUwVhIgHn3fq3L7YJNTTUUD2YDszkkVvnWPtmD2YgoODMWXKFEyZ0r73SnFVE1a99W+0tNmuPuiM9Q/GsMd2QhE5Gry+GY0n9qL+7y8hctlven2/ipNh+1vvYd6ksU7ltsUm1ZkOcQ/K9nuw0eGB2JKWNODmrFYqToYtaUluzzn2p86aVajgNzweDCuDLCAUQ+b/HAbNOfBtt3p9v5yTY1hUjFuDMfDjTIeahBKAArLHG6yO2YOpP3XWPVgDXF+pAAlVH+zMSBZ9LO6Y6ZCBk8a/SDIgW9PHYXNaIpQc6/SdFsu0b0q/OS1RMn3M7NVZC2ZjlzprgbegrboUpobrEAQeFn0zGj9+A34jJoBV9n63L6XqA2+d6RDnUQ7ZS2TOjENqQrhXtM7pT501NzQG3xe8A/5WE1iFP5SjkhF+32ab15BS9UHmzDjUaA2iNQmVwkyHOI86hnghb2id84vDxQ5VH/SHjGWwZGKUJPd7piah3olaOBEAnttR42K1Fg++9pmoFSRWKo7FkXUzJPthRE1CvQ+1cCIAPLd1jqfVWYtpdHgg8taneMVMhziH7pCJZFXUtYpeZ+2pXbU9daZD2tEdMvF41uoDsbsxe1owBjx3pkOcQ2VvRNK8sc6akL7QHTKRvK3p4zBcrRxQ9cHmtEQKxkTyKCATj+BNddaE9IUCMvEYVH1AvB0FZOJxxkepOx7qoOoD4k0oIBOPRtUHxJs4VYfMMEwdAPu9xwkhhHQ2UhAEu90CnArIhBBCXIfqkAkhRCIoIBNCiERQQCaEEImggEwIIRJBAZkQQiSCAjIhhEgEBWRCCJEICsiEECIRFJAJIUQi/j8MFetR1j7cggAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "G2 = nx.cycle_graph(16)\n",
    "\n",
    "# Generate plot of the Graph\n",
    "default_axes = plt.axes(frameon=True)\n",
    "pos          = nx.spring_layout(G2)\n",
    "\n",
    "nx.draw_networkx(G2, node_size=600, alpha=1, ax=default_axes, pos=pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it took to enumerate of all solutions was 0.44863230000009935 seconds\n"
     ]
    }
   ],
   "source": [
    "bqm = ising_maxcut(G2)\n",
    "start_time = timeit.default_timer()\n",
    "results_exact = exact_sampler.sample(bqm)\n",
    "time_exact = timeit.default_timer() - start_time\n",
    "print(\"The time it took to enumerate of all solutions was \"+str(time_exact)+\" seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it took 2048 runs of simmulated annealing was 0.5695462000003317 seconds\n"
     ]
    }
   ],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_simann = sim_ann.sample(bqm, num_reads=2048)\n",
    "time_simann = timeit.default_timer() - start_time\n",
    "print(\"The time it took 2048 runs of simmulated annealing was \"+str(time_simann)+\" seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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SlhERESlhEVERFRKWERERKWERUREVEpYREREpYRFRERUSlhERESlhEVERFRKWERERKVGw0LSPEkbJQ1JWjLK8pdLuknSdkmntC07TdKPyq/TmqwzIiI6aywsJE0BlgEnAbOBN0qa3bbaT4E3A5e19X0q8CHgOOBY4EOSDmyq1oiI6KzJI4tjgSHbm2w/AKwAFrSuYPsO2z8AHm7reyJwje1ttu8GrgHmNVhrRER00GRYTAU2t8wPl21N942IiJ2sybDQKG3emX0lLZI0KGlw69at4youIiLqazIshoFDWuanAVt2Zl/by2332+7v6+ubcKEREdFZk2GxBpglaaakfYCFwEDNvquAEyQdWF7YPqFsi4iILmgsLGxvBxZT/JG/DbjC9npJSyXNB5B0jKRh4FTgQknry77bgA9TBM4aYGnZFhERXbB3kxu3vRJY2dZ2Tsv0GopTTKP1vQi4qMn6IiKinjzBHRERlRIWERFRKWERERGVEhYREVEpYREREZUSFhERUSlhERERlRIWERFRKWERERGVEhYREVEpYREREZUSFhERUSlhERERlRIWERFRKWERERGVEhYREVEpYREREZUSFhERUSlhERERlRoNC0nzJG2UNCRpySjL95V0ebn8+5JmlO0zJN0naV359bkm64yIiM72bmrDkqYAy4DjgWFgjaQB2xtaVjsduNv2cyQtBD4OvKFcdrvtOU3VFxER9TV5ZHEsMGR7k+0HgBXAgrZ1FgCXlNNXAq+WpAZrioiICWgyLKYCm1vmh8u2UdexvR24BzioXDZT0s2SVkt6WYN1RkREhcZOQwGjHSG45jo/B6bb/qWko4GvSTrC9q936CwtAhYBTJ8+fSeUHBERo2nyyGIYOKRlfhqwZax1JO0NHABss32/7V8C2F4L3A4c3v4DbC+33W+7v6+vr4F/QkREQLNhsQaYJWmmpH2AhcBA2zoDwGnl9CnAtbYtqa+8QI6kQ4FZwKYGa42IiA4aOw1le7ukxcAqYApwke31kpYCg7YHgC8Al0oaArZRBArAy4GlkrYDDwFn2N7WVK0REdFZk9cssL0SWNnWdk7L9O+BU0fpdxVwVZO1RUREfXmCOyIiKiUsIiKiUsIiIiIqJSwiIqJSwiIiIiolLCIiolLCIiIiKiUsIiKiUsIiIiIqJSwiIqJSwiIiIiolLCIiolKjAwlG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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot_samples(results_simann)\n",
    "plot_energies(results_simann)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_dwave = sampler.sample(bqm, num_reads=2048)\n",
    "time_dwave = timeit.default_timer() - start_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The total time it took 2048 runs of quantum annealing was 2.5157261000003928 seconds\n",
      "qpu_sampling_time = 0.645038 seconds\n",
      "qpu_anneal_time_per_sample = 2e-05 seconds\n",
      "qpu_readout_time_per_sample = 0.000274 seconds\n",
      "qpu_access_time = 0.654411 seconds\n",
      "qpu_access_overhead_time = 0.0042 seconds\n",
      "qpu_programming_time = 0.009373 seconds\n",
      "qpu_delay_time_per_sample = 2.1e-05 seconds\n",
      "post_processing_overhead_time = 0.000224 seconds\n",
      "total_post_processing_time = 0.00046 seconds\n",
      "total_real_time = 0.654411 seconds\n",
      "run_time_chip = 0.645038 seconds\n",
      "anneal_time_per_run = 2e-05 seconds\n",
      "readout_time_per_run = 0.000274 seconds\n"
     ]
    }
   ],
   "source": [
    "print(\"The total time it took 2048 runs of quantum annealing was \"+str(time_dwave)+\" seconds\")\n",
    "time_dwave_detailed = results_dwave.info[\"timing\"]\n",
    "for key, value in time_dwave_detailed.items():\n",
    "    print(str(key) + ' = ' + str(value/1000000) + \" seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_samples(results_dwave)\n",
    "plot_energies(results_dwave)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEXCAYAAABCjVgAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAH+FJREFUeJzt3XucVXW9//HXGxgYUbzEpVLQgbyiGMiodQqlvKSStzLFtPsvL2VHH1THy897l+PP9NQxu4hkmaZE+DPRSDEj1MoUDE1EgnA8DKZcShRRgfycP75rlttxmL3R2bP2zLyfjweP2Xvt71r7vdcM+7PWd631XYoIzMzMAHoVHcDMzGqHi4KZmeVcFMzMLOeiYGZmORcFMzPLuSiYmVnORcHMzHIuCmZmlnNRMDOzXJ+iA2yuQYMGRUNDQ9ExzMy6lHnz5q2KiMHl2nW5otDQ0MDcuXOLjmFm1qVIeqqSdu4+MjOznIuCmZnlXBTMzCzX5Y4ptGXDhg00Nzfz8ssvFx2lZtXX1zN06FDq6uqKjmJmNaxbFIXm5mYGDBhAQ0MDkoqOU3MigtWrV9Pc3Mzw4cOLjmNmNaxbdB+9/PLLDBw40AVhEyQxcOBA70mZWVndoigALghleP2YWSW6TVEwM7O3rlscU2it4Zxfdejymi6bUFG7b3zjG9x000307t2bXr16cc0113DttdcyadIkRo4cuVnveeaZZzJ9+nSWLVtGr16u3WYd4uJtNqPtmurlqGHdsigU4Y9//CN33HEHDz/8MP369WPVqlWsX7+eKVOmbPayXn31VW699VaGDRvGvffey/jx4zs+sJlZG7wJ2kH+/ve/M2jQIPr16wfAoEGD2H777Rk/fnw+LMdWW23F2WefzdixYzn44IN58MEHGT9+PCNGjGDGjBn5smbPns1ee+3F6aefzs0335xPv/jii/nsZz+bz3PVVVcB0NTUxB577MHnP/959txzTw499FBeeumlTvz0ZtZduCh0kEMPPZRly5ax66678oUvfIE5c+a8oc2LL77I+PHjmTdvHgMGDOD888/n7rvv5tZbb+XCCy/M2918882ceOKJHHvssdxxxx1s2LAhf+2JJ57grrvu4sEHH+SSSy7JX1u8eDFf/OIXWbBgAdtuuy233HJL9T+0mXU7LgodZKuttmLevHlMnjyZwYMHc8IJJ/CTn/zkdW369u3LYYcdBsCoUaM48MADqaurY9SoUTQ1NQGwfv16Zs6cyTHHHMPWW2/N/vvvz6xZs/JlTJgwgX79+jFo0CCGDBnCs88+C8Dw4cMZPXo0AGPHjs2XZ2a2OXxMoQP17t2b8ePHM378eEaNGsX111//utfr6uryU0N79eqVdzX16tWLjRs3AnDnnXeyZs0aRo0aBcC6devo378/Eyakg90t87S8X8t8rae7+8jM3gzvKXSQRYsWsXjx4vz5/Pnz2WmnnTZ7OTfffDNTpkyhqamJpqYmnnzySWbNmsW6des6Mq6ZWZu65Z5CpaeQdqS1a9fypS99ieeee44+ffqw8847M3nyZI477riKl7Fu3Truuusurrnmmnzalltuyfvf/35uv/32asQ2M3sdRUTRGTZLY2NjtL7JzsKFC9ljjz0KStR1eD1Zj9eDr1OQNC8iGsu1c/eRmZnlXBTMzCznomBmZjkXBTMzy7komJlZzkXBzMxy3fI6hc067ayi5ZU/Na13796MGjWKDRs20KdPHz71qU9x1llnedhrM+tSumdRKMAWW2zB/PnzAVixYgUf//jHWbNmDZdccknByczMKufN2CoYMmQIkydP5uqrryYiOOKII3j00UcBGDNmDJdeeikAF1xwAVOmTGHt2rUcdNBB7LPPPowaNYrbbrsNgLPPPpvvf//7+XIvvvhirrzySgC+9a1vse+++7L33ntz0UUXdfInNLPuykWhSkaMGMGrr77KihUrOOCAA7jvvvt4/vnn6dOnD7///e8BuP/++xk3bhz19fXceuutPPzww8yePZsvf/nLRAQTJ07k5z//eb7MadOm8bGPfYxZs2axePFiHnzwQebPn8+8efO49957i/qoZtaNuChUUcsQIuPGjePee+/l/vvvZ8KECaxdu5Z169bR1NTEbrvtRkRw3nnnsffee3PwwQezfPlynn32WcaMGcOKFSt4+umneeSRR9huu+3YcccdmTVrFrNmzWLMmDHss88+PPHEE68bjM/M7M3yMYUqWbp0Kb1792bIkCFst912zJ07lxEjRnDIIYewatUqrr32WsaOHQvAz372M1auXMm8efOoq6ujoaGBl19+GYDjjjuO6dOn88wzzzBx4kQgFZtzzz2XU089tbDPZ2bdk/cUqmDlypWcdtppnHHGGUii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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "energies_simann = [-datum.energy for datum in results_simann.data(['energy'],sorted_by=None)]\n",
    "energies_dwave = [-datum.energy for datum in results_dwave.data(['energy'],sorted_by=None)]\n",
    "    \n",
    "counts_simann = Counter(energies_simann)\n",
    "total_simann = len(energies_simann)\n",
    "for key in counts_simann:\n",
    "    counts_simann[key] /= total_simann\n",
    "df1 = pd.DataFrame.from_dict(counts_simann, orient='index', columns=['SimAnn']).sort_index()\n",
    "\n",
    "counts_dwave = Counter(energies_dwave)\n",
    "total_dwave = len(energies_dwave)\n",
    "for key in counts_dwave:\n",
    "    counts_dwave[key] /= total_dwave\n",
    "df2 = pd.DataFrame.from_dict(counts_dwave, orient='index', columns=['Dwave']).sort_index()\n",
    "df = pd.concat([df1,df2], axis=1)\n",
    "plt.figure()\n",
    "df.plot(kind='bar')\n",
    "\n",
    "plt.xticks(rotation=80)\n",
    "plt.xlabel('C (cut value)')\n",
    "plt.ylabel('Probabilities')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XlcVPX+x/HXsMiuIm4gqKiVN03TAURFVASt27XMruZNvXr9ZWaa2qLtt3LNyqvdumW2qpWabWqZC6AkiiyDpZWpYeW444qyw8zvjxOuwAwwM2fO8Hk+HvMo8cw5HwrefPmc7/l+dWazGSGEEOpzU7sAIYQQCglkIYRwEhLIQgjhJCSQhRDCSUggCyGEk5BAFkIIJyGBLIQQTkICWQghnIQEshBCOAmPmhzctGlTc9u2be1UihBCuCaDwXDKbDY3s3RcjQK5bdu2ZGVl1b4qIYSoh3Q63R/WHCctCyGEcBISyEII4SQkkIUQwknUqIcshBB2deoUZGZCVhYcOgTl5dCsGej1EBEB7dqpXaFdSSALIdRlNkNiIsyfD6mp4OUFBQVQVqb8vU4HAQFQWgpt2sATT8CIEeDtrW7ddiAtCyGEeo4cgbg4uPtuSEqC4mLIy7scxqAEdl4eFBbCL7/A5Mlw442wc6d6dduJBLIQQh3JydCxozIqzs+3/n35+WA0KkH+0kv2q08FEshCCMdLSoLBg+HixatHwzVRWAizZsGLL9q2NhVJIAshHMtohCFDlD5xXRUUwMsvw7p1dT+XE5BAFkI4jtkMI0dCUZHtzllQAGPGwNmztjunSiSQhRCOs2ED7NpV+zZFVQoKXKJ1IYEshHCc+fOVvrGVDgDewChLBxYXw3vvKX1lDZNAFkI4xrFjNZ6qNgmItPZgnU7zvWQJZCGEY2RkKA99WGkl0BgYYO0bLlyA776rRWHOQwJZCOEYmZlWzzfOA/4NLKjpNVJTa/oOpyKBLIRwjN9/V9amsMJzwP8BYTW9xokTNX2HU5G1LIQQjmHlzIrvgURgV22uYTLV5l1OQwJZCOEYzSzuYATAVuB3oPWff74IlAM/A9mW3hwQUKvSnIUEshDCMSIjwd/f4rS3B4ARV/z5VZSAfsuaa0RE1LY6pyCBLIRwjIgI5Uk9C3z/fFXwR5mLbHF87eMDsbG1Ls8ZSCALIRzjL3+BoKCarewGvGDtgSaTskaGhsksCyGEY+h0MH06+PpaPrY25x4wAEJCbH9uB5JAFkI4ztixSh/Z1ry9Yc4c25/XwSSQhRCO4+/P1gkTsMHCm5f5+sIjj8Ctt9ryrKqQQBZCOERJSQlTp07l/z7+mLwxY2zTuvD2hi5d4Pnn634uJyA39YQQdmc0Ghk+fDjNmzcnKyuLwMaNoUkTePvt2i9U7+MDXbvC5s3QoIFtC1aJjJCFEHa1ceNGIiMjufvuu/nqq68IDAxUbsL95z/w7rvKwxyenjU7qY8PTJkCKSn26UmrRAJZCGEX5eXlvPDCC4wbN45Vq1YxY8YMdDrd1Qf94x9w4AD8859KyFYTrsVubspqcQkJyiJCL73kMiPjCtKyEELYXG5uLqNGjaK4uJisrCyCg4OrPrhFC2WkvHAhfPEFbN0KO3bA6dPK3GJ/f4o7d+b55GRm/vQTDdq3d9jn4WgyQhZC2FRaWhp6vZ7u3buTmJhYfRhfKSBA2Rvvgw9g3z44dQrOnIFDh/Bav56kW24h7fBh+xavMglkIYRNmM1mXnvtNYYMGcL//vc/5s2bh4eH7X4JT0hIYPPmzTY7nzOSQBZC1FleXh7Dhw9n2bJlpKWlMXjwYJtfQwJZCCEs2LNnD5GRkQQFBbF9+3batWtnl+v06tWLvXv3cvbsWbuc3xlIIAsham358uXExcXx7LPPsnjxYry9ve12LS8vL3r37k1ycrLdrqE2mWUhhKixoqIipk6dytatW9myZQudO3d2yHUr2hb33HOPQ67naDJCFkLUyMGDB+nVqxfnzp0jKyvLYWEMrt9HlkAWQlht7dq19OzZk3/961+sXLmSAAdvmdS5c2cKCgo4ePCgQ6/rKBLIQgiLysrKePLJJ5k8eTJr1qzh4Ycfvv6pOwfQ6XTEx8e77ChZAlkIUa1jx44xYMAAdu3aRXZ2NtHR0arW48ptCwlkIUSVtm7dSkREBHFxcaxfv56mTZuqXRLx8fEkJydTXl6udik2J4EshLiOyWRi/vz5jBgxgg8++IDnn38ed3d3tcsCICQkhJCQEAwGg9ql2JxMexNCXOXs2bOMGTOG3NxcMjMzCQsLU7uk6yQkJLBp0yaioqLULsWmZIQshLgkOzsbvV5Pu3btSElJccowBhg4cKBL9pElkIUQmM1mlixZwqBBg5g/fz6LFi2igROvNRwbG0t2djYXL15UuxSbkpaFEPVcfn4+EydOZNeuXaSmpnLTTTepXZJFfn5+REREkJKSwh133KF2OTYjI2Qh6rF9+/YRHR2NTqcjPT1dE2FcwRWnv0kgC1FPffrpp8TExDBlyhQ+/PBDfG2xC7QDuWIgS8tCiHqmpKSE6dOns27dOjZu3Ej37t3VLqlWunfvzvHjxzly5AitWrVSuxybkBGyEPWI0Wikb9++/PbbbxgMBs2GMYC7uztxcXEkJiaqXYrNSCALUU9s3LiRyMhI7r77br766isCAwPVLqnOXK1tIYEshIsrLy/nhRdeYNy4caxatYoZM2bg5uYa3/oJCQkkJiZiNpvVLsUmpIcshAs7deoUI0eOpLi4mKysLOt3gNaI8PBw/P392bNnD126dFG7nDpzjR+TQojr7Ny5E71eT/fu3UlMTHS5MK7gSm0LCWQhXIzZbOa///0vd911F2+88Qbz5s3Dw8N1fxl2pUB23f9LQtRDeXl53H///eTk5JCWlma3HaCdSVxcHGPGjKGoqMium6w6goyQhXARe/bsITIykiZNmrB9+/Z6EcYAjRs3plOnTuzYsUPtUupMAlkIF7B8+XLi4uJ49tlnWbx4seZHijXlKm0LCWQhNKyoqIgJEyYwe/ZstmzZwujRo9UuSRUDBw5k06ZNapdRZxLIQmjUwYMH6dWrF2fPniUzM5POnTurXZJqoqOj+fXXXzl16pTapdSJBLIQGrRu3Tqio6MZO3Ysq1atomHDhmqXpCpPT09iY2NJSkpSu5Q6kUAWQkPKysp48sknmTRpEmvWrGHKlCnodDq1y3IKrtBHlmlvQmjE8ePHGTFiBF5eXmRnZzvFDtDOJCEhgQULFmA2mzX7Q0pGyEJoQEpKCnq9nv79+7N+/XoJ40p07NiR8vJyDhw4oHYptSYjZCGcmMlk4pVXXmHhwoUsW7aMgQMHql2S09LpdJfaFjfeeKPa5dSKjJCFcFJnz569tFRmZmamhLEVtN5HlkAWwgllZ2ej1+sJDw8nJSWFsLAwtUvShPj4eLZu3UpZWZnapdSKBLIQTsRsNrNkyRIGDRrE/PnzWbRoEQ0aNFC7LM1o3rw5bdu2JSMjQ+1SakV6yEI4ifz8fCZOnEh2djapqama2gHamVS0LXr16qV2KTUmI2QhnMC+ffuIjo4GID09XcK4DrTcR5ZAFkJlq1evJiYmhocffpilS5fi5+endkma1qdPH3744Qfy8vLULqXGpGUhhEpKSkqYMWMGa9euZcOGDej1erVLcgk+Pj706NGDrVu3cuedd6pdTo3ICFkIFRiNRvr27cvBgwcxGAwSxjam1baFBLIQDrZp0yaioqIuzTEODAxUuySXk5CQoMnlOKVlIYSDlJeXM3v2bJYsWcLKlSvp27ev2iW5rFtvvZUzZ85w6NAhWrdurXY5VpMRshAOcOrUKf7617+yZcsWsrKyJIztzM3Njfj4eM21LSSQhbCznTt3otfr6d69O4mJiQQHB6tdUr2gxT6y41sWJSXw44/wxx9QVgZ+fnDLLRAaChpdMk+IypjNZl5//XXmzJnDu+++y+DBg9UuqV5JSEjgiSeewGQy4eamjbGnYwK5qAhWr4YFC+Dnn8Hb++rwLS0FDw+480547DHo1s0hZQlhL3l5edx///3k5OSQlpZWb3aAdiZhYWEEBQXx/fff0717d7XLsYp9f2yYzbBqFbRsCZMmwQ8/KOF74QLk5V1+FRYqH1u5EmJioE8fZQQthAb9+OOPREZGEhgYyPbt2yWMVaS1toX9Ajk/H/72Nxg3Ds6fVwLXkvJyKCiAnTuhUyf46CO7lSeEPSxfvpz+/fvzzDPP8Pbbb+Pt7a12SfWa1gLZPi2LixeVUe7evVBcXPP3l5UprwceUEbQDz1k+xqFsKGioiKmTZvGli1bSE5O5pZbblG7JAH069ePkSNHUlhYiI+Pj9rlWGT7EbLZDHfdBb/8UrswvlJhIUyfDuvX26Y2Iezgt99+o3fv3pw5c4bMzEwJYyfSsGFDunbtyrZt29QuxSq2D+T334f0dOVGni0UFMCoUXD2rG3OJ4QNrVu3jujoaMaMGcOqVato2LCh2iWJa2ipbWHbQD53DqZNU/rHtlRQoMy+EMJJlJWV8eSTTzJp0iS++uorpkyZotmdjl1d/Q3kpUvBZLLpKQGl9bFihRL4Qqjs+PHjxMfHs2vXLrKzs+nZs6faJYlqREVF8fvvv3PixAm1S7HItoG8YIEymrXgDSAC8ALGWntuNzdYvrzWpQlhCykpKej1evr378/69etp2rSp2iUJCzw8POjXrx9JSUlql2KR7QL5xAk4edKqQ0OAZ4FxNTl/QQF8/XUtChOi7kwmE/Pnz+fee+/lgw8+4Pnnn8fd3V3tsoSVtNK2sN20N4NBeQLPipkVQ//8ZxZwuCbXyM6uRWFC1M3Zs2cZO3YsJ0+eJDMzU3aA1qCEhATmzZuH2Wx26l6/7UbIOTl1n+ZmyenTysMjQjhIdnY2ERERhIeHk5KSImGsUTfccAMeHh7s3btX7VKqZbtALimxf1i6uSnXEcLOzGYz77zzDoMGDWLevHksWrSIBg0aqF2WqCWdTqeJtoXtWha+vsoCQaWlNjvltUzl5UyaNo3Q1q0JCwu79AoNDZVHVIXNFBQUMHHiRAwGA6mpqbIDtItISEhg2bJlTJ06Ve1SqmS7QP7LX8DTU3m6zk6Kg4Lo3KULRqORjRs3YjQaOXToEEePHiUwMPCqkG59TWgHBwfj4SEbpIjq7d+/n3vuuYdu3bqRnp4uO0C7kAEDBjB+/HhKSkqc9rcd2yVUt25Wh3HZn6/yP19FfxZiqRifvn2ZNGnSdR8vLy/nxIkTGI3GSyFtNBrZuXPnpY+dOnWKFi1aXBfUVwZ4s2bNnLrhL+xr9erVTJo0idmzZzN+/Hj5WnAxQUFB3HDDDezcuZPY2Fi1y6mU7QK5USNllLx7t8VDZwMvXvHnj4DngReqe5O/P9xzT6V/5e7uTkhICCEhIfTo0aPSY0pKSjhy5MilgDYajezbt4/ExMRLAZ6fn09oaGiVo+ywsDAaNWok36jOwGxWlmg1GJQND/LywMsLwsNBr4fOncHKUVBJSQkzZsxg7dq1fPvtt7IDtAur6CM7ayDrzGaz1QdHRESYs7Kyqj7gk09gwgRltTdbCwiA3Fzlm85O8vPzOXz48HUj7StfQKVBfeXHtLCqlGZdvAjLlsErryhz3z09lY9VPCHq56fc/DWZ4F//gqlToUOHKk9nNBoZPnw4zZo1Y+nSpbIDtItLTk7m6aefZufOnQ69rk6nM5jN5giLx9k0kIuLoXVrqx8QsZqvLzz+OLz4ouVj7chsNnPu3LnrQvrK8D5y5Aj+/v7VjrJbtWqFp6enqp+LJq1fD6NHK19n1qyX4ump3GieNAlmz77uh/mmTZsYM2YMjzzyCI8//rhmtvkRtVdcXEzTpk05dOiQQ3/4qhPIAMnJMHiwVY9QW619e2XrJydtxF/JZDKRm5tb5QjbaDRy/PhxmjdvXmUvOywsjBYtWkhAVCgvhwcfVH4Dq83Xla+vsmtNSgqEhmIymZg1axZLlizhk08+kR2g65nbbruNBx54gKFDh1o+2EasDWTbTzuIi4OxY+HDD20Tyn5+8NlnmghjULYfb9GiBS1atCAiovL//mVlZRw9evSqkP7tt99ISUm59Ofz588TEhJS5Sg7LCyMJk2auH4/22SCkSNh3brafz0VFCj95ogIzmzaxH0zZlBYWEhWVpbsAF0PVfSRHRnI1rL9CBkufxOtXVu3UPb1Vb4R4+Jqfw6NKioqutTPrmykfejQIcrKyqodZYeFheHv76/2p1I3c+fCnDk2+eFucncnR6fjg2nTmDlvnkyDrKd2797N0KFD+fXXXx12TfVGyKDcVPn4Y5g5E15+WVmsvgbBj48PBAXBl19CFaNMV+ft7U2HDh3oUM0Nqby8vOuCOjU19ao/e3t7VzvKDg0NxcuON0rr5Oefld6vjea2u5WXE+7lxdyAAKW3LOqlW265hYsXL/Lbb78RHh6udjlXsc8I+Up79igtjIotnap7vNrP73K/cO5cJZhFrZnNZk6fPl3tKPvYsWM0adKk2lF2cHCwOiub9ekD27fX7Ie5Nby94fffoUUL255XaMaoUaOIjY3lgQcecMj11LupV5Xdu+H115Wbfkaj0hPW6aCsDLObG1lFRXScNYuAyZNBtsFxmPLyco4fP17pjJGK1+nTp2nZsmWVI+3WrVvTtGlT2/azf/0VbrnFdluBXcnbG55+Gp57zvbnFpqwdOlSvv76a1avXu2Q6zlfIF+pqAiOHVPWvfD3h+Bg7rzrLu677z5GjBhR9/MLmyouLr7uoZprw7uwsPCqh2oqC+9GjRpZf9EZM2DRIotroxQDDwGJwBmgAzAXuN3S+Zs3V+Yxi3rpyJEjdOnShZMnTzrktz91e8iWeHsrT1RdoeLOpwSy8/Hy8qJdu3a0a9euymPy8/OvC+r09HQ+++yzSx9zc3Or9tH10NDQyw/VJCZatVBVGRAGpACtgfXAcGAP0La6N54/D8ePK9PhRL3TqlUrgoODMRgMREVFqV3OJU5zZyMhIYFXXnnF6ReQFpXz8/OjY8eOdOzYsdK/r3io5tp2SFJS0lUP1TRs2JDWoaGk7d6NNRMd/bj6kfu/AeGAAQuB7OWlPHZ9xx1WfX7C9VQMAiWQK3HTTTdhNpvZv3+/LHfognQ6HYGBgQQGBtK1a9dKjzGZTJw8eZIje/fikZBQq+ucAPYDnSwdWFoKR47U6hrCNSQkJPDyyy/zzDPPqF3KJU7zKFjFAtKbNm1SuxShEjc3N1q2bIn+1ltxq0VfrxQYCYwBKh+nX2YGKCur8TWE6+jbty8Gg4GL9lh7p5acZoQMyk+sFStW8PDDD6tdilBTxfTHGjABo4EGKLuaW3KhsJBZs2bx/ZdfVtrTDgsLIyAgoBbFC63w8/NDr9fz3Xff8de//lXtcgAnC+T4+HgefPBBSktLZfGd+qxBAwgJUaZHWsEM/B9Ku2I9YM1XToC/PxPefJNffXwu9bO3b99+VX+7QYMGVd6ElJ1qXENFH1kCuRLNmjWjffv2pKenExMTo3Y5Qk09elgdyBOBvShT36x9lEhXUkKHwYPpUMUTe2azmTNnzlx3E7Jipxqj0cjRo0dp1KhRtU9ChoSEyCPaTiwhIYFx48apXcYlTveVUvETSwK5nhs9GjZuhAsXqj3sD+BtwAu4cgLb2yj95ErpdHDbbdU+Pq3T6QgKCiIoKIhu3bpVeozJZLq0U82VwZ2RkXHp33Nzc69a2a+y4G7evLms7KcSfdOmDM3JoWjAALz37lW+3nQ6ZemGyEgYMACGDYMmTRxSjzoPhlQjMTGRf//73+zYscOu1xFOrrxcmSN86pTtz+3vD99+Cw74oV9aWnrdyn7Xjrrz8vJo1apVtY+vBwYGynRQWzIYYPp0SEtT9tir2ODgWr6+ymJpQ4Yo6/KEhdXqcs79pF41ioqKaNasGYcPH67Zk13C9SxejPnxx9FZsxi9tdzdoXt3SE9XRkJOoLCw8KqdaioL76pW9rsyuDW/sp8jlJTAs8/CG2/UbNEqd3flgbb//AfGj6/x145mAxlg4MCBPPTQQwwZMsTu1xLOqyA/n6Ph4bTNzbVdb83XV1nwqpqnDp1RZSv7Xfvy8vKqMrTlJiTKVl8JCfDDD7VfQdDXF0aMgHfeUVa1tJJzPzptQUUfWQK5/jpw4AB///vf6du7N6999x2cPVv3Vd98fOCttzQXxgANGzakU6dOdOpU+SMv1t6EbNy4cbWh7bI3IUtLYdAg+P77ui1YVVAAK1cqT3q++abt6vuTU/6XT0hIYPjw4WqXIVTy+eefM3HiRGbOnMmECRPQ7d8PvXsrO0tbsb5FpXx9YcEC+Oc/bVusk7D1Tcjqpvtp8ibkrFl1D+MKBQWwdCncfruyXZ0NOWXLwmQy0bJlSzIzM2nTpo3dryecQ2lpKU888QRffvklq1evvnoLrGPHYNQopfdbk56yt7eyY/knn0B8vO2LdjE1uQlZXWg71U3IPXuUaZQ22ujgksBAOHgQGje2eKimWxZubm7Ex8ezefNm7r//frXLEQ5w5MgRhg8fTmBgIAaDgSbXTjMKDlZWgFuxQrkpc/KkMlKpakBRcYPr/vuVnWvkqTureHp60qZNm2oHQpXdhPz+++9Zt25dpTchqwpuh92EfPZZ+6yrXVQES5YoS8XaiFOOkAE++OADNmzYwKpVqxxyPaGepKQkRo0axZQpU3jiiScs/zpsNsOOHcoWX999B/v2KbvRuLsrwd2zp9IvvOce2XVGJbW9CXlleNtke7ETJ6BtW6sCeRSQBOSjzGmfAVgcDrZoAUePWrzBp+lZFgCHDx+ma9euDltAWjieyWRi7ty5vPnmm3z00UfE1cPNbOurqm5CXvmq7iZkRXAHBwdXfxPy3Xdh6lSrNsn9CWWDAy/gF6Af8A2gr+5N/v6wdSvoqz1K2y0LgNDQUJo3b86uXbuu7iUKl3D69GlGjx7NhQsXyMzMpFWrVmqXJBzIljchW7RoUWUvu/OmTfhYuWP5lfNXdH++crAQyCaT8pCJhUC2ltMGMlye/iaB7FoyMjIYPnw4w4YNY+7cubKQlKiUm5sbwcHBBAcHV7mIfGU3IQ8cOEBycjJGo5EVu3dTk9XVHwI+BAqBboDFJYcKCmDnTrDRZqlOH8gLFy7kqaeeUrsUYQNms5m33nqLF154gbfffpu7775b7ZKExlm8CRkaWqONCN4EXgfSgK0o7QuLTp+2+vyWOPVkwn79+pGRkUGBlb9yCOd18eJFRo4cyZIlS9ixY4eEsXCMWtx/cgdigMPAW9a8wYYP0jh1IAcEBNC9e3e+++47tUsRdbB3716ioqLw8fEhLS2NDh06qF2SqC+Cg2v91jKUHnK13Nxs+uSnUwcyXO4jC21asWIFsbGxPP7447z33nuXd5UWwhFiY61ac+IksBK4CJQDG4EVgMV5P35+ykMnNuLUPWRQAvkBGzXMheMUFxfz6KOPsnHjRjZv3sytt96qdkmiPoqNhcWLLa6rrUNpTzyIsh1YG2ARcJel85eW1q9AjoiIwGg0cvz4cVq2bGn5DUJ1f/zxB8OGDSM0NBSDwSDLqAr1DBpkVR+5GZBSm/N361brNZIr4/QtCw8PD/r3709iYqLapQgrfPvtt0RFRXHvvffy+eefSxgLdXl6wuTJypomtubvD08+adNTOn0gg/SRtaC8vJznnnuO8ePH89lnn/HYY485z+Iyon574glo2NC25/TwgC5dbL7am6YCuSaPeQvHOXnyJIMGDWL79u0YDAb69OmjdklCXObvryxKZcsbyl5eyjltPOjQRCC3b98eLy8vfv75Z7VLEdfYvn07er2eHj16sHnzZlq0aKF2SUJcLy4O5sxR1sWuK19fWLMGWreu+7muoYlA1ul00rZwMmazmYULFzJ06FAWL17MnDlzZBEo4dweeUTZqNTHp3YjWw8PZbS9dq2yG7UdaCKQQWlbbNq0Se0yBMrSisOGDeOTTz4hPT2dO+64Q+2ShLDOpEmQlgYdOlxeM9safn7Qp4+y1Kudwhg0FMhxcXGkpqZSXFysdin12u7du4mIiKBZs2akpqbStm1btUsSoma6doWfflKW5uzWTekHN2x49fQ4T09o1Ej5u0GDlFFxUhKEhNi1NKefh1whKCiIm266ibS0NPr166d2OfXShx9+yPTp01m4cCGjRo1Suxwhas/TE+69V3kdPaosoWkwQG6u8mRfaKiypKZer2zV5CCaCWS4PNtCAtmxCgsLmTJlCtu2bWPr1q1V7nwshCaFhCgvG09hqw3NtCxA5iOrIScnh969e19aSF7CWAj70VQg9+rVi71793LmzBm1S6kX1qxZQ8+ePRk3bhwrVqwgQDYKFcKuNBXIXl5exMTEkJycrHYpLq2srIwZM2YwZcoU1q5dy+TJk+WpOyEcQFOBDDBw4EBpW9jRsWPHGDBgALt378ZgMBAdHa12SULUG5oLZOkj28/WrVuJiIhgwIABfPPNNzRt2lTtkoSoVzQ1ywKgU6dOFBUVkZOTQ/v27dUuxyWYTCZefvllXnvtNZYtW0ZCQoLaJQlRL2kukHU6HfHx8WzevFkC2QbOnj3LmDFjyM3NJSMjgzAbru0qhKgZzbUsQNoWtmIwGNDr9bRr146UlBQJYyFUpslAjo+PZ8uWLZSXl6tdiiaZzWaWLFnCbbfdxvz581m0aBENGjRQuywh6j3NtSwAgoODadWqFVlZWfSw4X5W9UF+fj4TJ04kOzub1NRUbrrpJrVLEkL8SZMjZJDV32pj3759l6axpaenSxgL4WQ0HcjSR7be6tWriYmJ4eGHH2bp0qX4+fmpXZIQ4hqabFkAxMbGMmzYMC5cuCCP9FajpKSEGTNmsHbtWjZs2IBer1e7JCFEFTQ7Qvbz8yMyMpKUlFpt3l0vGI1G+vbtS05OzqUZFUII56XZQAZpW1Rn8+bNREZGMmTIENasWUOgA9d0FULUjmZbFqAE8pgxY9Quw6mYTCZmz57N22+/zcqVK2XtaCE0RNOB3L17d06cOMHhw4cJDQ1VuxzVnTp1ilGjRlFYWEhWVhbBwcFqlySEqAFNtyzc3d2Ji4sjMTFR7VLyRFWSAAAIMElEQVRUl56ejl6vp2vXriQlJUkYC6FBmg5kkD6y2Wzm9ddfZ/Dgwfz3v/9l/vz5eHho+hcfIeotzX/nJiQk8Nxzz2EymXBz0/zPlxq5cOEC48ePZ9++faSlpcliS0JonOYTLDw8nIYNG7Jnzx61S3Gon376icjISBo2bMiOHTskjIVwAZoPZKh/bYuPP/6Yfv368dRTT7FkyRJ8fHzULkkIYQMSyBpSVFTExIkTefHFF0lKSpIpf0K4GJcI5P79+7Njxw6KiorULsVufv/9d2JiYsjNzSUzM5MuXbqoXZIQwsZcIpAbN25M586dSU1NVbsUu/jmm2/o0aMHo0aNYvXq1TRq1EjtkoQQduASgQyu2bYoKyvjmWee4cEHH+SLL75g2rRp6HQ6tcsSQtiJBLKTOnHiBAMHDiQ9PR2DwUDv3r3VLkkIYWcuE8jR0dHk5OSQm5urdil1tm3bNvR6PTExMWzcuJHmzZurXZIQwgFcJpA9PT2JjY0lKSlJ7VJqzWw28+qrr/L3v/+dd955h5kzZ+Lu7q52WUIIB3GZQAZtty3OnTvH0KFD+fTTT8nIyOD2229XuyQhhIO5ZCCbzWa1S6mR77//noiICFq1asW2bdto06aN2iUJIVTgUoHcsWNHTCYT+/fvV7sUq73//vskJCQwa9Ys3njjDby8vNQuSQihEs0vLnQlnU53aZTs7DsqFxQUMHnyZHbu3ElKSgo333yz2iUJIVTmUiNk0EYf+ddff6Vnz54UFRWRkZEhYSyEAFwwkOPj40lJSaG0tFTtUir15Zdf0qtXLyZMmMDHH3+Mv7+/2iUJIZyES7UsAJo3b054eDgZGRlO9TBFaWkpTz31FJ999hlff/01UVFRapckhHAyLjdCBudrWxw9epS4uDh+/vlnDAaDhLEQolISyHaWnJxMREQEgwYN4uuvvyYoKEjtkoQQTsrlWhYAMTEx7N69m/Pnz6u2MprJZOKll17i9ddfZ/ny5cTHx6tShxBCO1wykH18fIiOjmbLli0MGTLE4dc/c+YMo0eP5vz582RlZdGqVSuH1yCE0B6XbFmAem2LrKws9Ho9HTt2ZMuWLRLGQgirSSDbiNls5q233uL222/n1VdfZcGCBXh6ejrs+kII7XPJlgVA165dOXfuHH/88Yfd14bIz89nwoQJ7Nmzhx07dnDDDTfY9XpCCNfksiNkNzc3BgwYYPdR8i+//EJUVBSenp6kpaVJGAshas1lAxns37ZYuXIlffr04dFHH+X999/H19fXbtcSQrg+l21ZgBLIM2bMwGQy4eZmu589JSUlPPbYY3z77bds2rSJbt262ezcQoj6y6VHyGFhYTRt2pRdu3bZ7JyHDh0iNjYWo9FIVlaWhLEQwmZceoQMMDIigpNz5kBAAOzfD6Wl4O8PUVHQowcMGACNG1t1rg0bNjB27Fgee+wxHn/8cdkBWghhU64ZyGYzfP45zJ3LUz/9RGlZGZhMVx+zbZsSzCUlcM898PTTUMUymOXl5cycOZN3332XTz/9lNjYWAd8EkKI+sb1AtlohPvug127ID8fD6r4JE0myMtT/n3lSvjiC5g+HZ59Fq6YP5ybm8vIkSMpLS3FYDDQsmVLR3wWQoh6yLV6yNu3Q6dOsHMn5Odb/77ycigshFdfhZ494fx5AHbs2IFer0ev17N582YJYyGEXbnOCDk9HQYOhIKC2p+joAB+/BFzbCz/u+8+Zi5YwHvvvcfgwYNtV6cQQlTBNQL53Dm44466hXGF4mJKfvyRNi+/THpWFuHh4XU/pxBCWME1WhYPPVSzFoUFXiYTfyssJDwnx2bnFEIIS7QfyL/8Al99BUVFNj2trrAQJk1SZmwIIYQDaD+QFy1S5hZbcAa4G/AD2gCfWHPuI0cgM7NO5QkhhLW0HchmM3z0EZSVWTx0EtAAOAF8DEwEfrL0psJCeOedulYphBBW0XYgHzxoVUshH/gcmAX4AzHAncByS280mSA1tY5FCiGEdbQdyLt2gbu7xcP2A+7AjVd8rCtWjJABcnKUecpCCGFn2g7kU6esaldcBK7d6rQRcMHa69hiOp0QQlig7UC2cgaEP5B3zcfygABr3qzTyUwLIYRDaDuQmza9at2JqtwIlAEHrvjYD0Ana65hNoOfX63KE0KImtB2IHfrZlV/1w8YCvwb5QbfdmANMNqaa7RrZ1WfWggh6krbgdy+vdWHvgkUAs2BfwBvYcUI2c0NYmJqW50QQtSItgNZp1OW2vSwvCRHE+ArlBHyIeA+a87v4wP331+nEoUQwlraDmSAadOs6iPXSnCwsquIEEI4gPYD+eab4c47wcvLtuf19YX//U8ZhQshhANoP5ABFi+27UwILy9lW6eBA213TiGEsMA1ArlxY/j6a2VUW1cNGsANN8Cbb9b9XEIIUQOuEcigbL20YYOycakVN/kq5eurbAFVsQGqEEI4kOsEMkCfPvDTTxAVVbMWhpubMqPi0UeVraAaN7ZfjUIIUQXXCmSA1q2VFdrefx+6dlVGvZW1MtzcICAAvL3h3nshIwNmzbLfjA0hhLDANfbUu5ZOB8OHK6+ff1ZaEKmpsG+fsph9QIAyiu7RAwYMgCZN1K5YCCFcNJCvdPPNymvCBLUrEUKIarley0IIITRKAlkIIZyEBLIQQjgJCWQhhHASOnMNdsPQ6XS5wB/2K0cIIVxSG7PZ3MzSQTUKZCGEEPYjLQshhHASEshCCOEkJJCFEMJJSCALIYSTkEAWQggnIYEshBBOQgJZCCGchASyEEI4CQlkIYRwEv8PvKv1T+3kBMEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generating the butterfly graph with 5 nodes \n",
    "n     = 5\n",
    "V     = np.arange(0,n,1)\n",
    "E     =[(0,1,1.0),(0,2,1.0),(1,2,1.0),(3,2,1.0),(3,4,1.0),(4,2,1.0)] \n",
    "\n",
    "G     = nx.Graph()\n",
    "G.add_nodes_from(V)\n",
    "G.add_weighted_edges_from(E)\n",
    "\n",
    "# Generate plot of the Graph\n",
    "colors       = ['r' for node in G.nodes()]\n",
    "default_axes = plt.axes(frameon=True)\n",
    "pos          = nx.spring_layout(G)\n",
    "\n",
    "nx.draw_networkx(G, node_color=colors, node_size=600, alpha=1, ax=default_axes, pos=pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it takes the enumeration of all solutions was 0.0020816000005652313 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bqm = ising_maxcut(G)\n",
    "start_time = timeit.default_timer()\n",
    "results_exact = exact_sampler.sample(bqm)\n",
    "time_exact = timeit.default_timer() - start_time\n",
    "print(\"The time it takes the enumeration of all solutions was \"+str(time_exact)+\" seconds\")\n",
    "plot_ennumerate(results_exact)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The time it took 2048 runs of simmulated annealing was 0.18136750000030588 seconds\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_simann = sim_ann.sample(bqm, num_reads=2048)\n",
    "time_simann = timeit.default_timer() - start_time\n",
    "print(\"The time it took 2048 runs of simmulated annealing was \"+str(time_simann)+\" seconds\")\n",
    "plot_samples(results_simann)\n",
    "plot_energies(results_simann)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "start_time = timeit.default_timer()\n",
    "results_dwave = sampler.sample(bqm, num_reads=2048)\n",
    "time_dwave = timeit.default_timer() - start_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The total time it took 2048 runs of quantum annealing was 2.1301242999998067 seconds\n",
      "qpu_sampling_time = 0.645038 seconds\n",
      "qpu_anneal_time_per_sample = 2e-05 seconds\n",
      "qpu_readout_time_per_sample = 0.000274 seconds\n",
      "qpu_access_time = 0.654398 seconds\n",
      "qpu_access_overhead_time = 0.003578 seconds\n",
      "qpu_programming_time = 0.00936 seconds\n",
      "qpu_delay_time_per_sample = 2.1e-05 seconds\n",
      "post_processing_overhead_time = 0.000781 seconds\n",
      "total_post_processing_time = 0.002704 seconds\n",
      "total_real_time = 0.654398 seconds\n",
      "run_time_chip = 0.645038 seconds\n",
      "anneal_time_per_run = 2e-05 seconds\n",
      "readout_time_per_run = 0.000274 seconds\n"
     ]
    }
   ],
   "source": [
    "print(\"The total time it took 2048 runs of quantum annealing was \"+str(time_dwave)+\" seconds\")\n",
    "time_dwave_detailed = results_dwave.info[\"timing\"]\n",
    "for key, value in time_dwave_detailed.items():\n",
    "    print(str(key) + ' = ' + str(value/1000000) + \" seconds\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_samples(results_dwave)\n",
    "plot_energies(results_dwave)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\debernal\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:23: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=False'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass 'sort=True'.\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEhCAYAAACOZ4wDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXmYFNXV/z+HYRXQAKJREFlFwEFWFRVEEUVMYqIYQaKoiSZxzWviT/SNC8ZEE42aRPNGRA1u4JJoUFEwLrgERUBAYCCAjjKArIosIiDn98e5PRRNz3Q1TM16Ps8zz3RXnTp1qrq7vnc5915RVRzHcRynNGpVdACO4zhO5cfFwnEcx8mKi4XjOI6TFRcLx3EcJysuFo7jOE5WXCwcx3GcrLhYOI7jOFlxsXAcx3Gy4mLhOI7jZKV2RQdQVuy///7aunXrig7DcRynSjFjxow1qto8m121EYvWrVszffr0ig7DcRynSiEin8Sx82Yox3EcJysuFo7jOE5WXCwcx3GcrFSbPotMbNu2jaKiIrZs2VLRoThZqF+/Pi1btqROnToVHYrjOBmo1mJRVFRE48aNad26NSJS0eE4JaCqrF27lqKiItq0aVPR4TiOk4FEm6FEZJCILBSRxSIyMsP+fiIyU0S2i8iQtH0jRGRR+BuxJ+ffsmULzZo1c6Go5IgIzZo18xqg41RiEhMLEckD7gNOAzoDw0Skc5rZp8AFwBNpxzYFbgKOBo4CbhKRJnsYx54c5pQz/jk5TuUmyZrFUcBiVf1IVbcC44EzogaqWqiqc4AdaceeCryiqutU9XPgFWBQgrE6juM4pZBkn0ULYGnkfRFWU9jTY1vsbUCtR764ty52ofD202PZ/fa3v+WJJ54gLy+PWrVqcf/99/PAAw9w9dVX07lzemWrdK666iqeeeYZli5dSq1anszmOE75kKRYZGpX0LI8VkQuAS4BaNWqVfzIypGpU6fywgsvMHPmTOrVq8eaNWvYunUrY8aMydnXjh07ePbZZznkkEN488036d+/f9kHXFO4eb/wf33FxlHT8PteZUmyaFoEHBJ53xJYXpbHqupoVe2lqr2aN886tUmFsGLFCvbff3/q1asHwP7778/BBx9M//79i6cnadSoEddeey09e/bk5JNPZtq0afTv35+2bdsyYcKEYl+vv/46RxxxBD//+c8ZN25c8fabb76Ziy66qPiYP//5zwAUFhbSqVMnLr74Yrp06cIpp5zCV199VY5X7zhOdSFJsXgf6CAibUSkLjAUmJDlmBSTgFNEpEno2D4lbKtynHLKKSxdupTDDjuMSy+9lClTpuxms2nTJvr378+MGTNo3Lgxv/71r3nllVd49tlnufHGG4vtxo0bx7Bhw/jBD37ACy+8wLZt24r3LViwgEmTJjFt2jRGjRpVvG/RokVcdtllzJs3j29961v84x//SP6iHcepdiQmFqq6Hbgce8gXAE+p6jwRuUVEvgcgIr1FpAg4G7hfROaFY9cBv8EE533glrCtytGoUSNmzJjB6NGjad68Oeeccw5///vfd7GpW7cugwZZ/31+fj4nnHACderUIT8/n8LCQgC2bt3KxIkT+f73v8++++7L0UcfzeTJk4t9nH766dSrV4/999+fAw44gJUrVwLQpk0bunXrBkDPnj2L/TmO4+RCooPyVHUiMDFt242R1+9jTUyZjn0IeCjJ+MqLvLw8+vfvT//+/cnPz2fs2LG77K9Tp05x6mitWrWKm6xq1arF9u3bAXj55ZdZv349+fn5AGzevJl99tmH00+3TvbUManzpY5L3+7NUI7j7AmeTpMwCxcuZNGiRcXvZ82axaGHHpqzn3HjxjFmzBgKCwspLCzk448/ZvLkyWzevLksw3Ucx8lItZ7uI524qa5lycaNG7niiiv44osvqF27Nu3bt2f06NEMGTIk+8GBzZs3M2nSJO6///7ibQ0bNuT444/n+eefTyJsx3GcXRDVuNmslZtevXpp+uJHBQUFdOrUqYIicnKlXD8vT+GsGPy+VzpEZIaq9spm581QjuM4TlZcLBzHcZysuFg4juM4WXGxcBzHcbLiYuE4juNkxcXCcRzHyUqNGmdRnLZXZv48/c9xnJqB1ywSJi8vj27dutGlSxeOPPJI7rrrLnbsSF/rqfxZunQpJ554Ip06daJLly786U9/Kt63bt06Bg4cSIcOHRg4cCCff/45YGtlX3nllbRv356uXbsyc+bM4mPGjh1Lhw4d6NChwy7Tmaxfv57zzz+fdu3a0a5dO4YPH17sz3GcqoOLRcI0aNCAWbNmMW/ePF555RUmTpzIqFGjKjosateuzR//+EcKCgp49913ue+++5g/fz4At99+OwMGDGDRokUMGDCA22+/HYCXXnqJRYsWsWjRIkaPHs3Pf/5zwMRl1KhRvPfee8Wz3qYE4cc//jFt27ZlyZIlLFmyhPbt23PBBRdUyDU7jrPnuFiUIwcccACjR4/m3nvvRVUZPHgwc+bMAaB79+7ccsstANxwww2MGTOGjRs3MmDAAHr06EF+fj7/+te/ALj22mv561//Wuz35ptv5o9//CMAd9xxB71796Zr167cdNNNJcZy0EEH0aNHDwAaN25Mp06dWLZsGQD/+te/GDFiBAAjRozgueeeK95+/vnnIyIcc8wxfPHFF6xYsYJJkyYxcOBAmjZtSpMmTRg4cCAvv/wyixcvZsaMGdxwww3F573xxhuZPXs2CxcuLJN76jhO+eBiUc60bduWHTt2sGrVKvr168dbb73Fl19+Se3atXnnnXcAePvtt+nbty/169fn2WefZebMmbz++uv88pe/RFUZOnQoTz75ZLHPp556irPPPpvJkyezaNEipk2bxqxZs5gxYwZvvvlm1pgKCwv54IMPOPpoW/V25cqVHHTQQYCJyqpVqwBYtmwZhxyyc02qli1bsmzZshK3z58/n27dupGXl1e8Ly8vj+7du1NQULAXd9FxnPLGxaICSM3H1bdvX958803efvttTj/9dDZu3MjmzZspLCykY8eOqCrXX389Xbt25eSTT2bZsmWsXLmS7t27s2rVKpYvX87s2bNp0qQJrVq1YvLkyUyePJnu3bvTo0cPFixYsMuMt5nYuHEjZ511Fvfccw/77rtvrLijiEip21NTr2fz4zhO5aZmZUNVAj766CPy8vI44IADaNKkCdOnT6dt27YMHDiQNWvW8MADD9CzZ08AHn/8cVavXs2MGTOoU6cOrVu3ZsuWLQAMGTKEZ555hs8++4yhQ4cC9hC+7rrr+OlPfxorlm3btnHWWWcxfPhwzjzzzOLtBx54ICtWrOCggw5ixYoVHHDAAYDVGJYuXVpsV1RUxMEHH0zLli154403dtnev39/unTpwgcffMCOHTuoVcvKJTt27GDOnDnFTWCO41QRVLVa/PXs2VPTmT9//m7bypuGDRsWv161apUOHDhQb7zxxuJtJ5xwgrZt21Y3bdqk48eP15YtW+o999yjqqr33HOPXn755aqq+tprrymgH3/8saqqzp07V/v06aMdOnTQ5cuXq6rqpEmT9KijjtINGzaoqmpRUZGuXLkyY1w7duzQ8847T6+66qrd9v3qV7/S2267TVVVb7vtNr3mmmtUVfWFF17QQYMG6Y4dO3Tq1Knau3dvVVVdu3attm7dWtetW6fr1q3T1q1b69q1a1VV9Qc/+IGOGjWq2PeoUaP0Jz/5ScaYyvXzumlf+3PKF7/vlQ5gusZ4xnrNImG++uorunXrxrZt26hduzbnnXceV199dfH+vn378uqrr7LPPvvQt29fioqK6Nu3LwDDhw/nu9/9Lr169aJbt24cfvjhxcd16dKFDRs20KJFi+L+hVNOOYWCggL69OkD2JKujz32WHHNIMo777zDo48+Sn5+fvGyq7/73e8YPHgwI0eO5Ic//CEPPvggrVq14umnnwZg8ODBTJw4kfbt27PPPvvw8MMPA9C0aVNuuOEGevfuDVgndtOmTQF46KGHuOKKK2jfvj3r16+nd+/evgaH41RBfD0Lp9xYuHAhgwcP5i9/+QuDBw/ebb+vZ1ED8Pte6Yi7noXXLJxyo2PHjixZsqSiw3AcZw9wsajmrF27lgEDBuy2/dVXX6VZs2YVEJHjOFURF4tqTrNmzZg1a1ZFh+E4ThXHx1k4juM4WXGxcBzHcbLiYuE4juNkpUb1WeSPzS9Tfx+O+DCW3bPPPsuZZ55JQUHBLmMlHMdxqgpesygHxo0bx/HHH8/48eNjH6OqlWLdC8dxHHCxSJyNGzfyzjvv8OCDD+4iFpmmEi8sLKRTp05ceuml9OjRY5d5mBzHcSqSGtUMVRE899xzDBo0iMMOO4ymTZsyc+ZM1qxZUzyVuKryve99jzfffJNWrVqxcOFCHn744V3Wq3Acx6loXCwSZty4cfziF78AYOjQoYwbNw5VLZ5KHKz2sWjRIlq1asWhhx7KMcccU5EhO47j7IaLRYKsXbuW1157jblz5yIifPPNN4gIZ599dsapxAsLC2nYsGEFRes4jlMy3meRIM888wznn38+n3zyCYWFhSxdupQ2bdqw77778tBDD7Fx40bAVqBLrUbnOI5TGUm0ZiEig4A/AXnAGFW9PW1/PeARoCewFjhHVQtFpA4wBugRYnxEVW/b23jiprqWFePGjWPkyJG7bDvrrLMoKCjg3HPP3W0q8ejyo47jOJWJxMRCRPKA+4CBQBHwvohMUNX5EbMfA5+ransRGQr8HjgHOBuop6r5IrIPMF9ExqlqYVLxJkF09bgUV155ZfHrq666arf9c+fOTTIkx3GcPSLJZqijgMWq+pGqbgXGA2ek2ZwBjA2vnwEGiC3arEBDEakNNAC2Al8mGKvjOI5TCkmKRQsgOlCgKGzLaKOq24H1QDNMODYBK4BPgTtVdV2CsTqO4zilkKRYSIZt6cvylWRzFPANcDDQBviliLTd7QQil4jIdBGZvnr16r2N13EcxymBJMWiCDgk8r4lsLwkm9DktB+wDjgXeFlVt6nqKuAdYLdl/1R1tKr2UtVezZs3T+ASHMdxHEhWLN4HOohIGxGpCwwFJqTZTABGhNdDgNfUFgX/FDhJjIbAMcCCBGN1HMdxSiExsQh9EJcDk4AC4ClVnScit4jI94LZg0AzEVkMXA2k8kzvAxoBczHReVhV5yQVq+M4jlM6iY6zUNWJwMS0bTdGXm/B0mTTj9uYafveUnB4pzL112lBQZn6cxzHqaz4CO6EadSoEWBTeTRo0IBu3bpx5JFHcuyxx7Jw4ULAxmOICA8++GDxcR988AEiwp133lmi7wsuuIA2bdrQrVs3unXrxrHHHpvsxTiOU2NxsShH2rVrx6xZs5g9ezYjRozgd7/7XfG+/Px8nnzyyeL348eP58gjj8zq84477mDWrFnMmjWL//znP4nE7TiO42JRQXz55Zc0adKk+H2rVq3YsmULK1euRFV5+eWXOe200/bI95QpU4prG927d2fDhg2sWLGCfv360a1bN4444gjeeustACZPnkyfPn3o0aMHZ599Nhs3bmT9+vV07NixuOYzbNgwHnjggb2/aMdxqiwuFuXIkiVL6NatG+3ateOuu+7i6quv3mX/kCFDePrpp/nPf/5Djx49qFevXlaf11xzTbEwDB8+HIA777yT++67j1mzZvHWW2/RoEEDnnjiCU499dTimk23bt1Ys2YNt956K//+97+ZOXMmvXr14q677mK//fbj3nvv5YILLmD8+PF8/vnnXHzxxYncE8dxqgY+RXk5kmqGAnjyySe55JJLePnll4v3//CHP+Scc85hwYIFDBs2LFaz0h133MGQIUN22Xbcccdx9dVXM3z4cM4880xatmxJ7969ueiii9i2bRvf//736datG1OmTGH+/Pkcd9xxAGzdurV4csOBAwfy9NNPc9lllzF79uyyugWO41RRvGZRQaRWx4vy7W9/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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "samples_simann = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results_simann.data(['sample'],sorted_by=None)]\n",
    "samples_dwave = [''.join(c for c in str(datum.sample.values()).strip(', ') if c.isdigit()) for datum in results_dwave.data(['sample'],sorted_by=None)]\n",
    "    \n",
    "counts_simann = Counter(samples_simann)\n",
    "total_simann = len(samples_simann)\n",
    "for key in counts_simann:\n",
    "    counts_simann[key] /= total_simann\n",
    "df1 = pd.DataFrame.from_dict(counts_simann, orient='index', columns=['SimAnn']).sort_index()\n",
    "\n",
    "counts_dwave = Counter(samples_dwave)\n",
    "total_dwave = len(samples_dwave)\n",
    "for key in counts_dwave:\n",
    "    counts_dwave[key] /= total_dwave\n",
    "df2 = pd.DataFrame.from_dict(counts_dwave, orient='index', columns=['Dwave_2000Q']).sort_index()\n",
    "df12 = pd.concat([df1,df2], axis=1)\n",
    "plt.figure()\n",
    "df.plot(kind='bar')\n",
    "\n",
    "counts_qiskit = {'10001': 77, '11100': 53, '11000': 55, '01110': 62, '10010': 70, '01010': 88, '11011': 82, '00010': 45, '00011': 54, '00110': 66, '00100': 95, '00101': 64, '00000': 29, '10011': 77, '11111': 25, '10110': 71, '11101': 48, '00001': 38, '10100': 70, '01000': 48, '10101': 84, '11110': 54, '01011': 72, '00111': 48, '11010': 76, '10000': 57, '11001': 82, '01100': 70, '10111': 52, '01101': 75, '01001': 94, '01111': 67}\n",
    "for key in counts_qiskit:\n",
    "    counts_qiskit[key] /= 2048\n",
    "df3 = pd.DataFrame.from_dict(counts_qiskit, orient='index', columns=['Aer']).sort_index()\n",
    "df123 = pd.concat([df12,df3], axis=1)\n",
    "\n",
    "counts_ibm = {'10001': 101, '11100': 62, '11000': 32, '01110': 33, '10010': 85, '01010': 73, '11011': 34, '00010': 38, '00011': 47, '00110': 71, '00100': 115, '00101': 109, '00000': 42, '10011': 56, '11111': 77, '10110': 57, '11101': 47, '00001': 49, '10100': 112, '01000': 44, '10101': 77, '11110': 49, '01011': 33, '00111': 95, '11010': 43, '10000': 49, '11001': 57, '01100': 72, '10111': 89, '01101': 34, '01001': 82, '01111': 84}\n",
    "for key in counts_ibm:\n",
    "    counts_ibm[key] /= 2048\n",
    "df4 = pd.DataFrame.from_dict(counts_ibm, orient='index', columns=['IBM_Essex']).sort_index()\n",
    "df = pd.concat([df123,df4], axis=1)\n",
    "\n",
    "plt.xticks(rotation=80)\n",
    "plt.xlabel('bitstring for solution')\n",
    "plt.ylabel('Probabilities')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAERCAYAAACU1LsdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt4VNW9//H3lxAICCLXioTIXQNGA4SKF5D+EBX8iRdQoVSl+kBVvPSheqS2WLEc66+otVbaI+IFbeWiLUothViLgHhBLkGFwAFsPAQpNxVFQEC+vz/2ZJ8QEmYIM+wkfF7Pw5PZe6+95jsJM99Za6+9lrk7IiIiALWiDkBERKoOJQUREQkpKYiISEhJQUREQkoKIiISUlIQEZGQkoKIiISUFEREJKSkICIiodpRB3CkmjVr5m3atIk6DBGRamXp0qXb3L15vHLVLim0adOGJUuWRB2GiEi1YmafJFJO3UciIhJSUhARkZCSgoiIhKrdNYXy7Nu3j+LiYvbs2RN1KBJHRkYGmZmZpKenRx2KiJSjRiSF4uJiGjZsSJs2bTCzqMORCrg727dvp7i4mLZt20YdjoiUI2XdR2b2jJltMbOPKjhuZva4ma0zsw/MrFtln2vPnj00bdpUCaGKMzOaNm2qFp1IFZbKawrPAZcc5nh/oGPs30jgD0fzZEoI1YP+TiJVW8qSgrsvAD47TJHLgec98C5wkpm1TFU8IiISX5TXFFoBG0ptF8f2bSpb0MxGErQmyMrKiltxmzF/S06EMUUPXZpQuf/8z//kxRdfJC0tjVq1avHkk0/y1FNPMXr0aDp37nxEz3nnnXfy8ssvs2HDBmrV0iAxOf5U9n1clPH9yj3h/Tsqd14NE2VSKK8fwcsr6O6TgEkAeXl55ZaJ2jvvvMNrr73GsmXLqFu3Ltu2bWPv3r1Mnjz5iOs6cOAAM2fOpHXr1ixYsIA+ffokP2ARkXJE+RW0GGhdajsT+DSiWI7apk2baNasGXXr1gWgWbNmnHLKKfTp0yeclqNBgwbcc889dO/enQsvvJDFixfTp08f2rVrx6xZs8K65s2bxxlnnMEtt9zC1KlTw/33338/N954Y3jO448/DkBRURHZ2dmMGDGCLl26cNFFF7F79+5j+OpFpKaIMinMAq6PjULqCexw90O6jqqLiy66iA0bNtCpUyduvfVW5s+ff0iZr7/+mj59+rB06VIaNmzIz3/+c15//XVmzpzJfffdF5abOnUqQ4cO5corr+S1115j37594bHVq1czd+5cFi9ezLhx48Jja9euZdSoUaxcuZKTTjqJP//5z6l/0SJS46RySOpU4B3gNDMrNrObzOxmM7s5VmQ28DGwDngKuDVVsRwLDRo0YOnSpUyaNInmzZtz7bXX8txzzx1Upk6dOlxySTAgKycnhwsuuID09HRycnIoKioCYO/evcyePZsrrriCE088kbPPPpv8/PywjksvvZS6devSrFkzWrRowebNmwFo27Ytubm5AHTv3j2sT0TkSKTsmoK7D41z3IFRqXr+KKSlpdGnTx/69OlDTk4OU6ZMOeh4enp6OCSzVq1aYVdTrVq12L9/PwBz5sxhx44d5OTkALBr1y7q16/PpZcGF7tLzil5vpLzyu5X95GIVIaGtSTJmjVrWLt2bbhdUFDAqaeeesT1TJ06lcmTJ1NUVERRURH/+te/yM/PZ9euXckMV0SkXDVimouyEh1Cmkw7d+7k9ttv54svvqB27dp06NCBSZMmMXjw4ITr2LVrF3PnzuXJJ58M951wwgmcf/75/PWvf01F2CIiB7GgF6f6yMvL87KL7BQWFpKdnR1RRHKk9PeSROg+heQys6XunhevnLqPREQkpKQgIiIhJQUREQkpKYiISEhJQUREQkoKIiISqpH3KXB/oyTXV7OHqomIlFBLIUnS0tLIzc2lS5cunHXWWTz66KMcOHAg6rDYsGED3/ve98jOzqZLly789re/DY999tln9OvXj44dO9KvXz8+//xzIFhL+Y477qBDhw6ceeaZLFu2LDxnypQpdOzYkY4dOx40jceOHTu4/vrrad++Pe3bt2fYsGFhfSJSfSgpJEm9evUoKChg5cqVvP7668yePZtx48ZFHRa1a9fmkUceobCwkHfffZeJEyeyatUqAB566CH69u3L2rVr6du3Lw899BAAf//731m7di1r165l0qRJ3HLLLUCQRMaNG8d7770XztJa8sF/00030a5dO9avX8/69evp0KEDw4cPj+Q1i0jlKSmkQIsWLZg0aRJPPPEE7s6AAQP44IMPAOjatSsPPPAAAGPHjmXy5Mns3LmTvn370q1bN3Jycnj11VcBuOeee/j9738f1nv//ffzyCOP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dpl995V6vAo4L9nPW3h6dlLry15dmNT6RESqKt3RnCQNGjQAgiks6tWrR25uLmeddRbnnnsua9asAYL7GcyMp59+Ojxv+fLlmBkPP/xwhXUPHz6ctm3bkpubS25uLueee25qX4yIHLeUFFKgffv2FBQUsGLFCm644QYefPDB8FhOTg7Tp08Pt6dNm8ZZZ50Vt84JEyZQUFBAQUEBb7/9dkriFhFRUkixL7/8ksaNG4fbWVlZ7Nmzh82bN+PuzJkzh/79+1eq7vnz54eth65du/LVV1+xadMmevfuTW5uLmeccQYLFy4EID8/n3POOYdu3bpx9dVXs3PnTnbs2MFpp50WtmSGDh3KU089dfQvWkSqLSWFFFi/fj25ubm0b9+eRx99lNGjRx90fPDgwbz00ku8/fbbdOvWjbp168at8+677w4TwLBhwwB4+OGHmThxIgUFBSxcuJB69erx4osvcvHFF4ctldzcXLZt28b48eP5xz/+wbJly8jLy+PRRx+lUaNGPPHEEwwfPpxp06bx+eefM2LEiJT8TkSketDU2SlQ0n0EMH36dEaOHMmcOXPC49dccw3XXnstq1evZujQoQl1B02YMIHBgwcftO+8885j9OjRDBs2jKuuuorMzEx69OjBjTfeyL59+7jiiivIzc1l/vz5rFq1ivPOC67p7927N5ykr1+/frz00kuMGjWKFStWJOtXICLVlFoKKVay2lppJ598Munp6bz++uv07du30nWPGTOGyZMns3v3bnr27Mnq1avp3bs3CxYsoFWrVlx33XU8//zzuDv9+vULr0msWrUqvNh94MABCgsLqVevHp999tlRvVYRqf5qZEuhKg0hfeutt2jfvv0h+x944AG2bNlyVNNor1+/npycHHJycnjnnXdYvXo19erVo1WrVowYMYKvv/6aZcuW8bOf/YxRo0axbt06OnTowK5duyguLqZTp0785je/ITs7mwcffJAbb7yRd955h/T09KN5ySJSjdXIpBC1kmsK7k6dOnWYPHnyIWWOdFjp3Xffzfjx48PtxYsX89hjjzFv3jzS0tLo3Lkz/fv3Z9q0aUyYMIH09HQaNGjA888/T/PmzXnuuecYOnQo33zzDUBY1+TJk1m8eDENGzakd+/ejB8/nnHjxh3FqxeR6syq2w3EeXl5vmTJkoP2FRYWkp2d3BvWJHX095JE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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "energies_simann = [-datum.energy for datum in results_simann.data(['energy'],sorted_by=None)]\n",
    "energies_dwave = [-datum.energy for datum in results_dwave.data(['energy'],sorted_by=None)]\n",
    "    \n",
    "counts_simann = Counter(energies_simann)\n",
    "total_simann = len(energies_simann)\n",
    "for key in counts_simann:\n",
    "    counts_simann[key] /= total_simann\n",
    "df1 = pd.DataFrame.from_dict(counts_simann, orient='index', columns=['SimAnn']).sort_index()\n",
    "\n",
    "counts_dwave = Counter(energies_dwave)\n",
    "total_dwave = len(energies_dwave)\n",
    "for key in counts_dwave:\n",
    "    counts_dwave[key] /= total_dwave\n",
    "df2 = pd.DataFrame.from_dict(counts_dwave, orient='index', columns=['Dwave_2000Q']).sort_index()\n",
    "df12 = pd.concat([df1,df2], axis=1)\n",
    "\n",
    "counts_qiskit = {4.0: 0.67138671875, 2.0: 0.30224609375, 0.0: 0.0263671875}\n",
    "df3 = pd.DataFrame.from_dict(counts_qiskit, orient='index', columns=['Aer']).sort_index()\n",
    "df123 = pd.concat([df12,df3], axis=1)\n",
    "\n",
    "counts_ibm = {4.0: 0.607421875, 2.0: 0.33447265625, 0.0: 0.05810546875}\n",
    "df4 = pd.DataFrame.from_dict(counts_ibm, orient='index', columns=['IBM_Essex']).sort_index()\n",
    "df = pd.concat([df123,df4], axis=1)\n",
    "\n",
    "plt.figure()\n",
    "df.plot(kind='bar')\n",
    "\n",
    "plt.xticks(rotation=80)\n",
    "plt.xlabel('C (cut value)')\n",
    "plt.ylabel('Probabilities')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eex = [(7, 6),(7, 3),(5, 3),(6, 2),(6, 1),(5, 2),(7, 4),(3, 0),(1, 0),(4, 1),(5, 4),(2, 0)]\n",
    "Gex     = nx.Graph()\n",
    "Gex.add_edges_from(Eex)\n",
    "\n",
    "# Generate plot of the Graph\n",
    "default_axes = plt.axes(frameon=True)\n",
    "pos          = nx.circular_layout(Gex)\n",
    "\n",
    "nx.draw_networkx(Gex, node_size=600, alpha=1, ax=default_axes, pos=pos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3lzKvDKxkPBNMDxxLl8cb7TcEYeHQ3d1dVF+TYKYALjnxmKxIBQKNVzuiMPzcpLttg8aZrQJrWZnlLKIICYWst1NHxK+NiHLctOzvULUri8QBKENsiw3PdsrJJlMatAbohlI+NqEVjc9GQ9BTCyJRGJStUM0Dglfm6iU0aUZmtlASxBE82hlu61kfiFag4Jb2oSWgjU8PKxZW5PhOvWYLP0gipksv8t0TJ6+EJMTEr42oeVeu+nTp2vWVjWGh4cn5DqbSj+IYibV7xIYX5sIhUJNbUEiJg/k6mwTWkV00f4fgphYtEr2TrbbPuibbxNa7d+plN2dIIjxo7AWXyvUq7hOjB8kfG1Cp9NVrcPVCFoZIUEQ6tDpdJp4bMh22wcJXxtxu90tnV+tKjtBEONLq7ZLotde6KnZRvR6PTweT9PndnV1adwjgiDUwItJT/S5hDZQVGeb4RnZw+Gw6nN4qSOCINqHzWYDYwzRaFT1OUajEd3d3ePYK0INJHyTAKvVCoPBoBSxrAYvkcILXxIE0V7sdjuMRqNSPLoaOp1OqedHtB8SvkkCLy0kyzLi8TgymYxSxVmv18PhcFBSW4KYhPDSQry+XjabLbLd0sKzRPsh4Ztk6HQ6uFyudneDIIgG0el0tHa3iUDBLQRBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcJHEARBdBQkfARBEERHQcI3iZBlGdFoFCMjIxgeHi768/v9yGaz7e4iQRCVSKeB888HnE5AEDb+GQzAgQcCH33U7h4SBRja3QEi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3Xcf2W4dSPhqEI/H4ff7YTab0dPT03AGhVgsBgAVs7C0WpKoVjsGgwFut1t1wAyHJ73u7u5GIpGgpNfEponIgCuvBPbdN18378UXge22a6iJ888/H16vF+eff37Ze1c26eIs5Y9vl0dybr/99rjhhhswMDDQkEfIarXimmuuwRNPPIGrr74ahx56KL766itN+jkVIeGrAI+M5Emlm0n5lU6nkUqlytb1OFoJSrWRncVigcViqbq5vRbcnWs2m+H3+xsOviGItvHuu8BxGeBvf8uXDjrjDKBGtHUlHn74YTz22GO45557KkZqfxT8tyZdDWcqr+8fe+yxOPDAAzF//vyGbXf33XfH6tWrMXv2bOy888648847AVDgWimUpLoAXjoomUxClmVsttlmTWVWqZZ8upBQKERbCQhCK9JpOJcuhfW++6A/J4rhE/9ZlFRaLevXr8fhhx+O+++/vzwP57cc+7fr8PeRdS12GNALOuT++6mK72UyGcyZMwfz5s3Deeed11T769atw4IFC/DmmzasX7+sbP/hRENJqich2WwWkUgEer0eXq8XY2NjTYkeX9ez2+01A2C0TBpd62aSJAl+vx8ej0fVtotKMMYwMjICQRDgcDiKyipNNJPJeIiNtPV3ee014MQT88mh164FAltj+uabN9xMIpHAqaeeiiuvvBIHHXRQ1eOmuXqAkVY6nMegK8/hyzGbzXj44Yexxx57YI899sC+++7bcPuzZs3Cq6++CoNhKfbYYw8sXrwYZ599dsXcwZ1Gx7s6GWPKXja73V41qbRaotEo9Ho97DU2xALQ7OYTBKGmO0Sv18Pj8SAcDjcdrclFzuv1KvlI622UJ4hxJ5EAzjknvxn98suBoaHqNfHqwBjDqaeeil133RULFy6seey2pj40VHa9Ct1mJyS5uk1utdVW+NOf/oRjjjkGo6OjTV0j/5w5D6+//joee+wx7LPPPvjggw+a7PHUoaOFL5vNwufzQZIkeL1e2Gy2lmYyyWQSmUymavJpvm+PR01qgSAIGBsbQzgcRjqdriiCZrMZdrsdoVCopWgvXvLIbrcjGAxS0muifTz3XD7dWDCYTyp91FFNuTY5d911F959913cdtttFW33448/xu9//3vsvPPOuP3X/x+08HeY9AZsfuexOOXZG7Dqn29DlMrX/Q8++GDMnz8fv/zlL1va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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X = dnx.chimera_graph(2, 2)\n",
    "h_embed = mm.find_embedding(Gex, X)\n",
    "dnx.draw_chimera_embedding(X, h_embed, show_labels=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
